Win32 SDK程序设计
philip_liu
这个作者很懒,什么都没留下…
展开
-
Peekmessage和Getmessage的区别
<br />Peekmessage和Getmessage都是向系统的消息队列中取得消息,不过性质不同。 <br /> 若第一次向消息队列中取不到消息,则程序的主线程会被OS(操作系统)挂起;等到OS重新调度到该线程时,而且消息队列仍然是空的时,两者的性质不同: <br /> 若使用Getmessage(),则程序的主线程会仍被OS挂起。 <br /> 若是用Peekmessage(),则程序会取得OS控制权,运行一段时间。此函数多用于处理系统的空闲时间。 <br />getmessage an转载 2011-04-09 11:15:00 · 480 阅读 · 0 评论 -
虚拟码-->ASCII码
<br />按键消息的wParam包含了识别的键的虚拟码(与设备无关),是从键的扫描码(包含在lParam中,和设备相关)经过OS转换后生成的;<br />在WniMain函数的消息循环中有TranslateMessage函数,可将按键消息转换为字符消息WM_CHAR(前提是当键盘驱动程序把键盘字符映射为ASCII码后才产生此消息,且翻译的ASCII字符码是在0-127之间,其他一些按键如键入上下左右键、PgUp、PgDn等键,当按下后并不能够触发WM_CHAR消息,依然保留其虚拟码VK_LEFT、VK_P原创 2011-04-09 11:51:00 · 931 阅读 · 0 评论 -
位运算符(按位与&、按位或|、按位异或^、按位取反~)在程序的多个判定中起的作用
<br /><br />先看一个多线程程序:(罗云彬Win32中的一个多线程程序)<br />●用对话框做主界面,对话框中放置“计数”按钮和“暂停/恢复”按钮,并有一个编辑框用来显示计数结果。<br />●开始计数之前,“暂停/恢复”按钮处于灰化状态,当开始计数后,该按钮被激活,用户按动一次这个按钮,则计数暂停,再一次按动,则继续计数。<br />●开始计数后,“计数”按钮上的文字将被改为“停止计数”,如果按下“停止计数”按钮,程序将恢复初始状态——第一个按钮变回“计数”按钮,同时灰化“暂停/恢复”按钮。<原创 2011-04-17 15:53:00 · 2363 阅读 · 0 评论 -
键盘钩子的实现
程序用一个系统范围的远程钩子来实现监视所有键盘输入的功能,且程序中的文本框属性为只读,这样可更好的观察键盘钩子(WH_KEYBOARD)是否正确的截获了WM_KEYUP或WM_KEYDOWN消息。现在把键盘钩子当作远程钩子使用,即需要将钩子函数写入到DLL中去,且其实含有共享的数据段。因为系统中只有DLL程序是可以插入到其他进程的地址空间中去。命名所写的钩子函数Dll文件名为HookDll;在HoolDll.h文件中声明需要导出的函数:extern "C" _declspec(dllexport) BOOL原创 2011-04-17 19:59:00 · 1750 阅读 · 0 评论 -
TCP/IP和网络通信(TCP协议编程)
对于客户端Client来说,建立模型的步骤: 1、装入并初始化相关dll库: if(WSAStartup(0x101,&lpWSAData)!=0){ MessageBox(NULL,"装入并初始化DLL库失败",NULL,MB_OK); } 2、创建套原创 2011-09-11 16:29:07 · 661 阅读 · 0 评论