摘要: HWND是Windows系统中对所有窗口的一种标识,即窗口句柄。这是一个SDK概念。 CWnd是MFC类库中所有窗口类的基类。微软在MFC中将所有窗口的通用操作都封装到了这个类中,如:ShowWindow等等,同时它也封装了窗口句柄即m_hWnd成员。 1. 由HWnd得到CWnd*: CWnd wnd; HWnd hWnd; wnd.Attach(hWnd);通常一个窗口资源已经和一个CWnd类的对象关联起来的,由于一般来说这个类是自己创建的,所以自然知道怎么得到指向这个类的指针。如果没有就创建一个CWnd对象,将这个对象与窗口资源的hWnd句柄关联起来。(如上边的语句)。如果用 s... 阅读全文
posted @ 2011-09-15 17:25 Juicy Fruit 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 在Windows大行其道的今天,windows界面程序受到广大用户的欢迎。对这些程序的操作不外乎两种,键盘输入控制和鼠标输入控制。有时,对于繁杂的,或重复性的输入操作,我们能否通过编制程序来代替手工输入,而用程序来模拟键盘及鼠标的输入呢?答案是肯定的。这里主要是通过两个Windows API函数来实现的。下面以 VC++为例来介绍一下如何实现这两个功能。 模拟键盘我们用Keybd_event这个api函数,模拟鼠标按键用mouse_event函数。在VC里调用api函数是既简单又方便不过的事了。 1. Keybd_event能触发一个按键事件,也就是说回产生一个WM_KEYDOWN或WM... 阅读全文
posted @ 2011-09-15 16:54 Juicy Fruit 阅读(6616) 评论(0) 推荐(0) 编辑
摘要: 使用WM_COPYDATA消息通信对于少量数据可以用WM_COPYDATA方便地实现通信。由于SendMessage()是阻塞的,只有接收方响应了消息,SendMessage()才能返回,否则一直阻塞。所以,对于大量数据来说,用SendMessage()就容易造成窗口假死。1. 通过WM_COPYDATA消息实现进程间通信的方法在Win32中,WM_COPYDATA消息主要目的是允许在进程间传递只读数据。SDK文档推荐用户使用SendMessage()函数,接收方在数据复制完成前不返回,这样发送方就不可能删除和修改数据。这个函数的原型如下:SendMessage(WM_COPYDATA,wPa 阅读全文
posted @ 2011-09-13 16:42 Juicy Fruit 阅读(1395) 评论(0) 推荐(1) 编辑
摘要: RegisterWindowMessage函数定义了一个新的窗口消息,该消息在系统范围内是唯一的。通常调用SendMessage或者PostMessage函数时可以使用该函数返回的消息值。函数原型: UINT RegisterWindowMessage( lpString);参数说明: lpString指向一个以NULL结束的字符串,指定待注册的消息。返回值: 若成功注册了消息,返回值是一个消息标识符,该标识符范围在0XC000到0XFFFF之间。否则,返回值为0。PS: RegisterWindowMessage函数通常用于为两个合作应用程序之间的通信注册消息。 若两个不同的应... 阅读全文
posted @ 2011-09-08 16:44 Juicy Fruit 阅读(3148) 评论(0) 推荐(0) 编辑
摘要: 由于项目需要,查阅了一下CFileDialog类,以满足程序自动读取配置文件的需求,现在小小记录一下!CFileDialog类封装了Windows常用的文件对话框,提供个一种简单的与windows标准相一致的文件打开和文件存盘对话框功能。要使用CFileDialog类,首先要构造一个对象,项目实例: CFileDialog fileDlg(true, "cfg", "*.cfg", OFN_FILEMUSTEXIST| OFN_HIDEREADONLY,配置文件(*.cfg)|*.cfg||", this);CFileDialog构造函数原型为 阅读全文
posted @ 2011-09-07 16:24 Juicy Fruit 阅读(5053) 评论(1) 推荐(1) 编辑
摘要: 无意间发现这片人才济济的宝地,以后准备在这扎个窝了,希望我这初出茅庐的丫头能在这快快地在这成长起来! 阅读全文
posted @ 2011-04-11 09:47 Juicy Fruit 阅读(127) 评论(0) 推荐(0) 编辑