- 博客(45)
- 资源 (38)
- 收藏
- 关注
原创 VC编译器“与或非”优化技巧
前天遇到这样一个问题,在debug目录新建一个空白的文本文件1.txt、2.txt,将代码简化一下: 1、获取Exe路径/************************************************************************/ /* 函数说明:获取应用程序当前目录
2009-08-27 21:32:00 1775
原创 VC轻松玩转注册表与IE选项
熟悉注册表的这几个API函数,再灵活运用应该没什么问题! 1、修改键值,重新设置IE主页void C***Dlg::SetHome(){ //修改IE主页 HKEY hkey1; RegOpenKey(HKEY_CURRENT_USER,"Software//Microsoft//Internet Explorer//Main",&hkey1); Reg
2009-08-27 13:25:00 3658 1
原创 IE各项注册表键值说明
一、工具→Internet选项[HKEY_CURRENT_USER/Software/Policies/Microsoft/Internet Explorer/Control Panel ]"GeneralTab"=dword:00000001 (隐藏"常规")"SecurityTab"=dword:00000001 (隐藏"安全" )"SecurityTab"=dword:00000
2009-08-27 11:19:00 10019 1
原创 常见的数据库电子图书 [共9本]
自己平日收集到的一些数据库方面的书籍: 1、MS SQL Server循序渐进[chm]2、MS SQL Server精华[chm]3、MS SQL_Server菜鸟入门[chm]4、MS SQL Server参考手册[chm]5、MY SQL中文参考手册[chm]6、MY SQL中文手册[chm]7、中兴公司ORACLE数据库培训[pdf]8、PostgreS
2009-08-27 10:29:00 2743
原创 代码注入的三种方法
如何将代码注入不同的进程地址空间,然后在该进程的上下文中执行注入的代码。本文将介绍三种方法:1、Windows 钩子 2、CreateRemoteThread 和 LoadLibrary 技术 ——进程间通信3、CreateRemoteThread 和WriteProcessMemory 技术 ——如何用该技术子类化远程控件 ——何时使用该技术[代码性质] VC完整应用程序代码[代码作者]
2009-08-26 23:12:00 1350
原创 Freedur为什么会免费?
难道没人看看他们的官方网站吗? Freedur倒闭了...... 一个中国人,Chris Lee,作为Freedur的会计师,窃取了公司的银行帐号。并将Freedur的官方网站指向自己的空间。并且声称要对自己外服务。按照官方网站的说法,Chris Lee甚至企图逆向工程Freedur的客户端。 另外,Chris Lee还破坏了公司的用户数据库,导致8月5日之后的数据丢失。
2009-08-25 22:53:00 11739 2
原创 VC模拟ping发送ICMP数据包
张越的那本《Visual c++网络程序设计实例详解》很好,他的代码写得很漂亮! 网络编程方面的书籍,那是遗弃许久。这一段时间再次拾起,以补不足! 这是他第一章的实例,模拟ping来发送ICMP数据包: 1、程序源码//////////////////////////////////////////////////// comm.
2009-08-25 10:22:00 11377 4
原创 VC如何注册、屏蔽全局键盘热键
前段时间有两个朋友问我VC如何注册、屏蔽全局键盘热键,这是以前写过的一段代码。说实话,自己都感觉它比较“猥琐”,多的不说看源码吧!(哪位兄弟有其他思路,可以交流交流......) 1、定义按键消息热键的宏,后续可自行添加更多/************************************************************************/
2009-08-22 16:34:00 6819 2
原创 用SQL脚本将Access导入到MS SQL 2000/2005的方法
上次介绍了Access 导入 MSSQL 2000/2005 数据库工具,不过,在使用这个工具时还是有一些地方需要注意的,我把整个导入过程记录了下来,算是笔记吧,希望对其他人有所帮助。 由于CooSel2.0 CreateSQL这个工具相当不错,能够将Access的数据库表的结构转换成SQL Server的更加复杂的结构,也就是数据库的升迁,你不必担心由于Acces
2009-08-22 15:09:00 2134
原创 VC获取主机名与外网IP(CString类型)
前一章节提到的,在VC下动态获取主机名与外网IP地址,有兴趣的可以看看!/************************************************************************/ /* 函数说明:获取当前外网IP地址 /* 参 数
2009-08-22 08:14:00 6319 1
原创 SQL学习笔记:简单的VC成绩管理源码
在学习之前自己也看过些ACCESS数据库方面知识,再回头来看许久SQL方面的接口,感觉其实很多代码都是重复的。(所以不要害怕数据库,其实我们只是需要略微知道些皮毛也就够我们用了!) 我喜欢用“实例”说话,非实力也.... 所以没事又整了个DEMO测试程序: 1、程序运行效果: 2、OnInitDialog()初始化函数/**
2009-08-21 16:24:00 2460 2
原创 SQL学习笔记:常用SQL语句操作
在学习SQL的时候,本来预计花三天的时候掌握MS SQL这些基础,现在争取提前一天看完。总结沉底下来,其实也没有多少东西: 1、程序初始化前,先连接数据库 MFC程序中添加记录的代码:/************************************************************************//* 函数作用:
2009-08-21 08:13:00 2045
原创 SQL学习笔记:服务端配置-如何使用企业管理器
在这之前不熟悉SQL2000基础知识,搞得下载完别人的VC源码,而SQL却配置不好导致无法测试程序。另外,网上也有很多方法,不过似乎都不太完整,很多地方并没有告诉你该怎么怎么做.... 下面我创建了一个student数据库,需要用来记录“姓名、班级、语文、数学、英语”字段的成绩表,依次照如下步骤操作: 1、先打开企业管理器: 2、设置
2009-08-20 16:24:00 5630
原创 SQL学习笔记:常用数据库访问技术
在这之前,我也找了很多SQL方面的书籍,说实话个人觉得,在程序设计这方面,我们并不需要了解SQL太多的知识,因为我们不是要做专业的数据库管理员,所以没必要找将那些专业的SQL书籍从头到尾一字不漏的读懂。 正如李小龙的《截拳道》,他从格斗实战出发,以咏春拳为技术基础,结合空手道、跆拳道、泰拳、菲律宾拳术、柔术、击剑等26种全世界的武道精华,汲取中西方哲学及中国传统武术
2009-08-20 15:45:00 1912 1
原创 VS2005 检测内存泄漏的方法(转载)
一、非MFC程序可以用以下方法检测内存泄露: 1.程序开始包含如下定义:#ifdef _DEBUG#define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LINE__)#else#define DEBUG_CLIENTBLOCK#endif // _DEBUG#define _CRTDBG_MAP_ALL
2009-08-20 09:58:00 2256
原创 开始学习Microsoft SQL Server 2000
以前自己对这方面并没有太多重视,毕竟如果要从事桌面应用软件开发,这个是必须的。 幸好硬件环境还算允许,勉强将MS SQL 2000装完了,先熟悉一下环境与些常用工具吧...... 我的Microsoft SQL Server 2000学习之路就此开始了......
2009-08-19 18:04:00 1278
原创 VC制作地图及公交查询系统
罗云彬的汇编书籍也算走马观花的带过,沉淀下来的不多。不过这本《80x86汇编语言程序设计教程》更不错! 这方面资料不多,比如GOOGLE等也有开发库,并没有时间去深入研究。总觉得VC去开发地图、界面库等都嫌麻烦,不如WEB平台开发方面,特别是漂亮界面,下面就是得用WEB平台开发的地图公交查询系统,在VC里只是插入一个WEB Broswer控件,写一行代码即可。
2009-08-19 16:05:00 4520 3
原创 使用MASM-代码风格(2)
2. 注释和空行没有注释的程序是很难维护的,但注释的方法也很有讲究,写注释要遵循以下的规则:● 不要写无意义的注释,如“将1放到eax中”,“跳转到exit标号处”等。● 修改代码同时修改相应的注释,以保证注释与代码的一致性。● 注释以描写一组指令实现的功能为主,不要解释单个指令的用法,那是应该由指令手册来完成的,不要假设看程序的人连指令都不熟悉。
2009-08-17 15:10:00 1122
原创 使用MASM-代码风格(1)
随着程序功能的增加和版本的提高,程序越来越复杂,源文件也越来越多,风格规范的源程序会对软件的升级、修改和维护带来极大的方便,要想开发一个成熟的软件产品,必须在编写源程序的时候就有条不紊,细致严谨。在编程中,在程序排版、注释、命名和可读性等问题上都有一定的规范,虽然编写可读性良好的代码并不是必然的要求(世界上还有难懂代码比赛,看谁的代码最不好读懂!),但好的代码风格实际上是为
2009-08-17 15:09:00 1369
原创 使用MASM-高级语法(2)
可以看到,MASM编译器对这些条件分支伪指令优化得相当好,看到这些反汇编后的指令,惟一的感觉是好像又回到了DOS汇编时代分支指令堆中,从这里可以发现,这些伪指令把汇编程序的可读性基本上提高到了高级语言的水平。分析反汇编代码可以发现,在不同的条件满足之后,先是执行满足条件后需要执行的指令,如上面的mov esi,0001和mov esi,0002等指令,这些指令执行后,后
2009-08-17 15:06:00 1877
原创 使用MASM-高级语法(1)
以前高级语言和汇编的最大差别就是条件测试、分支和循环等高级语法。高级语言中,程序员可以方便地用类似于if,case,loop和while等语句来构成程序的结构流程,不仅条理清楚、一目了然,而且维护性相当好。而汇编程序员呢?只能在cmp指令后面绞尽脑汁地想究竟用几十种跳转语句中的哪一种,这里就能列出近三十个条件跳转指令来:ja,jae,jb,jbe,jc,je,jg,jge,jl
2009-08-17 15:02:00 3238
原创 使用MASM-使用子程序(参数传递和堆栈平衡)
当程序中相同功能的一段代码用得比较频繁时,可以将它分离出来写成一个子程序,在主程序中用call指令来调用它。这样可以不用重复写相同的代码,而用call指令就可以完成多次同样的工作了。Win32汇编中的子程序也采用堆栈来传递参数,这样就可以用invoke伪指令来进行调用和语法检查工作。3.4.1 子程序的定义子程序的定义方式如下所示。子程序名 proc [距离][
2009-08-17 14:30:00 5684 1
原创 使用MASM-标号、变量和数据结构(4)
3.3.5 变量的使用1. 以不同的类型访问变量这个话题有点像C语言中的数据类型强制转换,C语言中的类型转换指的是把一个变量的内容转换成另外一种类型,转换过程中,数据的内容已经发生了变化,如把浮点数转换成整数后,小数点后的内容就丢失了。在MASM中以不同的类型访问不会对变量造成影响。举一个简单的例子,先以db方式定义一个缓冲区:szBuffer db
2009-08-17 14:22:00 1251
原创 使用MASM-标号、变量和数据结构(3)
3.3.4 数据结构数据结构实际上是由多个字段组成的数据“样板”,相当于一种自定义的数据类型,数据结构中间的每一个字段可以是字节、字、双字、字符串或所有可能的数据类型。比如在API函数RegisterClass中要使用到一个叫做WNDCLASS的数据结构,Microsoft的手册上是如下定义的:typedef struct _WNDCLASS { UINT
2009-08-15 08:39:00 1317 1
原创 使用MASM-标号、变量和数据结构(2)
3.3.3 局部变量局部变量这个名称最早源于高级语言,主要是为了定义一些仅在单个函数里面有用的变量而提出的,使用局部变量能带来一些额外的好处,它使程序的模块化封装变得可能,试想一下,如果要用到的变量必须定义在程序的数据段里面,假设在一个子程序中要用到一些变量,当把这个子程序移植到别的程序时,除了把代码移过去以外,还必须把变量定义移过去。而即使把变量定义移过去了,由于这些变
2009-08-15 08:37:00 1791
原创 使用MASM-标号、变量和数据结构(1)
当程序中要跳转到另一位置时,需要有一个标识来指示新的位置,这就是标号,通过在目的地址的前面放上一个标号,可以在指令中使用标号来代替直接使用地址。使用变量是任何编程语言都要遇到的工作,Win32汇编也不例外,在MASM中使用变量也有需要注意的几个问题,错误地使用变量定义或用错误的方法初始化变量会带来难以定位的错误。变量是计算机内存中已命名的存储位置,在C语言中有很多种类
2009-08-15 08:33:00 2594
原创 使用MASM-调用API(3)
和参数说明中的一样!消息框中出现了一个惊叹号图标,按钮也变成了“是”和“否”两个按钮!MB_ICONWARNING和MB_YESNO等参数究竟是什么意思呢,MASM中显然没有这样的预定义,让我们先来找Visual C++的头文件,在WinUser.h中可以找到下面一段: /* * MessageBox() Flags */#define MB_OK
2009-08-15 08:27:00 1430
原创 使用MASM-调用API(2)
3. 函数的声明 在调用API函数的时候,函数原型也必须预先声明,否则,编译器会不认这个函数。invoke伪指令也无法检查参数个数。声明函数的格式是:函数名 proto [距离] [语言] [参数1]:数据类型,[参数2]:数据类型,……句中的proto是函数声明的伪指令,距离可以是NEAR,FAR,NEAR16,NEAR32,FAR16或FAR32,Win32中只有一个平坦的段,
2009-08-13 15:29:00 1612
原创 使用MASM-调用API(1)
3.2.1 API是什么 Win32程序是构筑在Win32 API基础上的。在Win32 API中,包括了大量的函数、结构和消息等,它不仅为应用程序所调用,也是Windows自身的一部分,Windows自身的运行也调用这些API函数。在DOS下,操作系统的功能是通过各种软中断来实现的,如大家都知道int 21h是DOS中断,int 13h和int 10h是BIOS
2009-08-13 13:51:00 1718
原创 Win32汇编源程序的结构(3)
2. 数据段.data,.data?和 .const定义的是数据段,分别对应不同方式的数据定义,在最后生成的可执行文件中也分别放在不同的节区(Section)中。程序中的数据定义一般可以归纳为3类:第一类是可读可写的已定义变量。这些数据在源程序中已经被定义了初始值,而且在程序的执行中有可能被更改,如一些标志等,这些数据必须定义在 .data段中,.data段是已初始化数
2009-08-13 13:45:00 1103
原创 Win32汇编源程序的结构(2)
2、model语句.model语句在低版本的宏汇编中已经存在,用来定义程序工作的模式,它的使用方法是:.model 内存模式[,语言模式][,其他模式]内存模式的定义影响最后生成的可执行文件,可执行文件的规模从小到大,可以有很多种类型,在DOS的可执行程序中,有只用到64 KB的 .com文件,也有大大小小的 .exe文件。到了Win32环境下,又有了可以用4 GB内存的PE格式可
2009-08-12 16:34:00 897
原创 Win32汇编源程序的结构(1)
罗云彬的汇编书籍确实比较入门,前面两章把打下一些基础、环境配置完毕,后面的内容轻松许多了! “麻雀虽小,五脏俱全”,多经典的一句话!简单的一个Hello World来很清楚的说明了Win32汇编程序的框架。 1、 Win32汇编源程序的结构 任何种类的语言,总是有基本的源程序结构规范,在讨论C语言的书中,大家都会记得这个非常经典的Hello Worl
2009-08-12 16:14:00 982
原创 PE文件结构-学习笔记
“稀饭”大佬给我发的一份资料,我觉得在学习汇编前还是有必要了解一下PE文件结构。 这张图很清楚:+----------------------+------------------| Dos Header |64字节(0x40)| |+----------------------+----------------
2009-08-12 08:05:00 1510 3
原创 自己第一个汇编程序:Hello World !
也许是一种兴趣,也许是一种执着,也许是一种追求,所以选择学习汇编。在这之前看过部分汇编的视频,讲到CPU结构、寄存器之类头蒙了,有种当初连Windows API都没掌握一点的前提下去看MFC的那种感觉,当初确实很傻,现在终于能深刻体会候俊杰的话了:“勿在浮沙筑高台”,严重“受挫碰壁”后当时便把汇编撂那儿了。如今重拾,便下定决心了! 因为朋友、爱人、亲人他们的笑脸永远
2009-08-11 09:31:00 13047 9
原创 VC中使用CFileDialog进行文件操作
一般来讲你不需要派生新的类,因为基类已经提供了常用的功能,而且在创建并等待对话框结束后你可以通过成员函数得到用户在对话框中的选择。 CFileDialog文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下: CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTST
2009-08-10 09:12:00 819
原创 VC实现文件拖拽
在基于对话框的程序中,默认是没有这个消息的。 1、按下Ctrl+W,弹出类向导对话框,选择Class Info标签; 2、在Message fileter下拉列表中选择Window,然后再点击Message Maps标签; 3、这时就出现WM_DROPFILES消息了,添加该消息的响应函数。 void CDragDlg::OnDr
2009-08-10 08:54:00 1790 1
原创 VC控制电脑音量
1、函数原型:VOID keybd_event( BYTE bVk, BYTE bScan, DWORD dwFlags, DWORD dwExtraInfo ); 2、函数功能: 该函数合成一次击键事件。系统可使用这种合成的击键事件来产生WM_KEYUP或WM_KEYDOWN消息,键盘驱动程序的中断处理程序调用keybd_event函数
2009-08-10 08:24:00 2246
原创 VC解除注册表、IE主页的锁定
一、提出问题你是否有过这样的痛苦经历:不知什么时候IE主页被修改,想该回去的时候可是发现地址栏已经被锁定,该不了!于是想通过注册表来恢复,可是输入”regedit”回车后,却弹出“注册表已被管理员停用”!是不是很郁闷?其实,这都是上网的时候中了病毒而造成了。恢复注册表有很多方法,这里我介绍如何用Visual C++编程来解决。 二、分析问题:注册表被锁定是由于HKEY_CU
2009-08-08 20:54:00 4533 2
原创 VC创建快捷方式
VC操作Windows快捷方式 总结主要有二个操作:新建和解析主要用到的是COM组件。IShellLink和IPersistFile需要添加的头函数shobjidl.hIPersistFile主要用到两个成员函数: 1、Save。保存内容到文件中去 2、Load。读取Load的函数原型 HRESULT Load( LPCOLSTR pszFileName, //快捷
2009-08-08 20:26:00 2442
原创 给正准备学习VC++朋友的建议
(本文最后更新时间:2009-11-06 14:48) 说实在的,自己也就是那半瓢水晃来晃去的,“指手画脚”就不敢说了,只是交流一下学习的心得,当初一路买的书籍有很多,突然发现自己有点像读书年代那样,桌面上放着一大难的辅助书籍,一学期结束了崭新的书被迫被我3毛一斤卖掉.... 所以书不在多,在“精与经”。“精”则是同类书籍中能略胜一筹的那种,而“
2009-08-08 14:08:00 6133 15
lv-font-conv vs2013 for win32
2024-07-20
利用纯C语言解析单色位图文件获取颜色值的代码
2023-10-26
电子书 Introduction to Programming using Fortran 95/2003/2008
2023-10-10
电子书 MIPS Assembly Language Programming Using QtSpim By Ed Jorgen
2023-10-10
电子书《x86-64 Assembly Language Programming with Ubuntu 》
2023-10-10
c++ hiredis redis-3.0 vs2013 src
2023-10-09
EP952_DS_应用原理图全部资料包
2022-02-21
MFC42U-MFCS42U.zip
2021-01-30
VC6.0 NTP时间服务器同步代码
2016-10-10
[ring3反作弊篇] VC++基于EBP遍历调用栈及模块名
2015-03-23
VC手动解析PE文件调用DLL函数(资源+文件)
2013-03-25
调试技巧 —— 如何利用windbg + dump + map分析程序异常
2011-09-04
简单的单链表排序 —— 学生管理程序
2010-09-19
获取进程启动和结束时间的工具
2009-12-08
VC制作地图及公交查询系统
2009-08-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人