摘要: ①、最常用的方式:全局变量或者多个线程都能看到的一个东东1、全局变量方式;int g_Num = 100;UINT __cdecl ThreadWriteProc(LPVOID lpParameter){ while(TRUE) { ++g_Num; Sleep(50); } return 100;}UINT __cdecl ThreadReadProc(LPVOID lpParameter)... 阅读全文
posted @ 2016-03-20 23:03 hungryvampire 阅读(846) 评论(0) 推荐(0) 编辑
摘要: 来自为知笔记(Wiz) 阅读全文
posted @ 2016-03-20 23:02 hungryvampire 阅读(307) 评论(0) 推荐(0) 编辑
摘要: bbs.176ku.com免费看 来自为知笔记(Wiz) 阅读全文
posted @ 2016-03-20 22:55 hungryvampire 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 来自为知笔记(Wiz) 阅读全文
posted @ 2016-03-20 22:52 hungryvampire 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 随便建立一个MFC小程序,值谈一个对话框:双击打开该InnoSetup:然后文件新建:没有的就跳过。还缺,就再添加;打包的时候一定呀把动态链接库一起打包来自为知笔记(Wiz) 阅读全文
posted @ 2016-03-20 22:50 hungryvampire 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 现在框架窗口上定义私有的数据成员:然后跳转到cpp文件:上面是把按钮放在了框架窗口内而坐标 工具栏是在框架窗口的哦内部客户区中。该按钮时放在了外面的框架窗口中。由以下可知:现在重新做一个放在视图中:增加私有变量:。给视图类增加OnCreate消息:以上其实是由两个窗口构成外面的是框架窗口,里面的是视图窗口。两个按钮分别在不同的窗口。来自为知笔记(Wiz) 阅读全文
posted @ 2016-03-20 22:48 hungryvampire 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 新建常规空项目:手动添加 写头文件:CMyApp继承CWinApp有继承InitInstance函数,现在不用手写可以通过添加消息用向导来完成: 来自为知笔记(Wiz) 阅读全文
posted @ 2016-03-20 22:43 hungryvampire 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 如下不选择文档视图结构支持怎没有了CMyDoc类还可以删除视图类和Hello类mainFrm类只剩下如下:然后再自己添加hello头文件和源文件:重写InitInstance消息以上是只有CMyApp和CMainWnd,最简单的MFC给其添加消息处理:来自为知笔记(Wiz) 阅读全文
posted @ 2016-03-20 22:35 hungryvampire 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 新建MFC项目 单文档 文档视图:如上,向导会为我们自动生成4个类。每个类中有很多代码,不需压迫我们全部搞懂,我们只把重要的几个搞懂即可。以前是在窗口中画显示要在视图中画:所有的显示都是在视图类中:在视图类属性中添加 paint消息:记住要在视图对象上添加消息而不是像以前那样在窗口对象上添加。在视图类上再添加 鼠标单击消息:来自为知笔记(Wiz) 阅读全文
posted @ 2016-03-20 22:28 hungryvampire 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 新建常规空项目,添加头文件:一定要设置项目属性:源码如下:Create函数:来自为知笔记(Wiz) 阅读全文
posted @ 2016-03-20 22:24 hungryvampire 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 建立win32项目:win32是C语言的使用sdk.windows操作系统是用C语言做的。新建MFC 多文档 单文档 是真正的MFC程序。基于对话框的是最简单的MFC应用程序。下面新建一MFC 单文档 带有视图结构的程序:C++习惯把类的定义放在头文件中,在源文件中添加新文件:修改代码如左侧。源文件进行调用如下:也可以全部写在一个源文件中:如下,但是这样不好 不符合我们C++使用习... 阅读全文
posted @ 2016-03-20 22:19 hungryvampire 阅读(606) 评论(0) 推荐(0) 编辑
摘要: 增加按钮修改名称和ID:双击播放按钮,编写代码,没播放时 显示为播放,播放状态下显示为停止:在头文件中增加bool变量 是否播放:开始时 无播放,在初始化对话框中 :双击 写 播放按钮内的函数:在头文件中声明函数:实现播放停止函数:双击+号按钮:现在要对listbox操作我们给其添加变量:添加了控件变量,然后在编程时 使用该控件变量就比较简单了。实现删除-号按钮:播放函数如下:(未完善)增加一数... 阅读全文
posted @ 2016-03-20 22:17 hungryvampire 阅读(264) 评论(0) 推荐(0) 编辑
摘要: MFC 对话框项目,添加按钮 修改名称和ID :双击open按钮:添加头文件和库文件:把音频文件复制到 项目文件夹内:来自为知笔记(Wiz) 阅读全文
posted @ 2016-03-20 22:14 hungryvampire 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 新建MFC项目:基于对话框:双击背景音乐:添加头文件和动态链接库:把要播放的文件放到资源文件夹:然后添加资源:把刚才复制过来的资源导入:把不用的删除:来自为知笔记(Wiz) 阅读全文
posted @ 2016-03-20 22:13 hungryvampire 阅读(521) 评论(0) 推荐(0) 编辑
摘要: 建立全局钩子必须为DLL应用程序:如下建立:DLL程序 必有有一个程序装载他。所以还需要在做一个项目。再新建一win32项目:这个做成windows应用程序。回到DLL 先做一个DLL:DLL有一个DLLMain函数,该函数有三个参数,switch内现在只用到一个,就先写一个:然后增加键盘的钩子函数:以下setKbHook为挂钩的设置函数实现钩子函数和其他进程挂钩。也叫安装钩子。:其要做成... 阅读全文
posted @ 2016-03-20 22:09 hungryvampire 阅读(3906) 评论(1) 推荐(0) 编辑
摘要: 如果安装了钩子后面在此输入aaaa则aaaa就变成了bbbb:如果删除了钩子 则bbbbb就又变回aaaaa.这种钩子 叫做 getMessage: 钩子函数必须是全局函数或静态函数:有了钩子函数 在其内写代码 如下:有了 钩子函数 要把钩子进行安装,双击安装按钮:双击安装按钮后增加如下代码:第一个是钩子消息种类,第二个是该钩子函数,三个是空,四个是获取线程ID的 API函数。该S... 阅读全文
posted @ 2016-03-20 22:05 hungryvampire 阅读(832) 评论(0) 推荐(0) 编辑
摘要: 新建MFC基于对话框:双击 抓取按钮:包含头文件,因为用到的两个类在这个头文件中:先打开百度查看源文件:如下:抓取到了,但是是乱码:修改项目属性 使用多字节字符集:修改代码 在每一行的后面加上斜杠n:不同网页的字符集不一样 要进行转换。下面查看网页的字符集:当为乱码时要进行转换:网上搜索资料:复制该函数到项目中:如下修改代码进行转换:有以下可知 在此抓取时 便不为 乱码了。记住 一定要... 阅读全文
posted @ 2016-03-20 22:02 hungryvampire 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 增加变量:使用变量:复制客户端和服务端到demo文件夹:打开命令行:服务端输入hello 客户端也收到hello输入two客户端接收到 ,又给服务端发送回去了。 如下尝试更换IP:客户端ctrl+c结束。以上均是 客户端和服务端在同一台电脑中。下面 在虚拟机实现:拷贝文件到虚拟机中,保留msvcr100d.dll虚拟机中运行:在外面计算机连接 虚拟机计算机:来自为知笔记(Wiz) 阅读全文
posted @ 2016-03-20 22:01 hungryvampire 阅读(601) 评论(0) 推荐(0) 编辑
摘要: 1.文本框,静态文本,按钮 2.获取文本框信息: 1.不绑定变量,直接用成员函数或者API GetDlgItemText ::GetWindowText 2.绑定变量,使用UpdateData,给变量赋值 UpdateData(TRUE)-控件中的值赋给变量 UpdateData(FALSE)-变量 阅读全文
posted @ 2016-03-20 21:58 hungryvampire 阅读(584) 评论(0) 推荐(0) 编辑
摘要: 新建常规空项目:定义SOCKET变量:增加地址接收端变量和端口:在增加定义变量:增加计算大小:使用计算的大小:修改之前上面的错误,正确形式如下:来自为知笔记(Wiz) 阅读全文
posted @ 2016-03-20 21:57 hungryvampire 阅读(598) 评论(0) 推荐(0) 编辑