2016年11月2日

进程通信

摘要: 1 进程通信 1.1 SendMessage 消息 WM_COPYDATA LRESULT SendMessage( HWND hWnd, // handle to destination window WM_COPYDATA, // message to send WPARAM wParam, / 阅读全文

posted @ 2016-11-02 17:40 NoneButNow 阅读(198) 评论(0) 推荐(0) 编辑

注入

摘要: 2 注入 2.1 Hook Hook链表,由系统来维护,最新安装的钩子放在链的开始,而最早安装的钩子放在最后,也就是后加入的先获得控制权。Windows 并不要求钩子子程的卸载顺序一定得和安装顺序相反。每当有一个钩子被卸载,Windows 便释放其占用的内存,并更新整个Hook链表。如果钩子在尚未卸 阅读全文

posted @ 2016-11-02 17:36 NoneButNow 阅读(357) 评论(0) 推荐(0) 编辑

动/静态库

摘要: 1 动态连接库/静态连接库 1.1 动态库.dll.ocx.cpl 动态库在程序运行是才被载入。不同的应用程序如果调用相同的库,那么在内存里只需要有一份该共享库的实例,规避了空间浪费问题(引用技术),只需要更新动态库,增量更新。 动态库不能直接运行,也不能接收消息。它们是一些独立的文件,其中包含能被 阅读全文

posted @ 2016-11-02 17:33 NoneButNow 阅读(260) 评论(0) 推荐(0) 编辑

线程同步

摘要: http://blog.sina.com.cn/s/blog_4b666dd80100x8hl.html 阅读全文

posted @ 2016-11-02 16:57 NoneButNow 阅读(119) 评论(0) 推荐(0) 编辑

线程

摘要: 界面线程与工作者线程 二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环。 工作者线程没有消息机制,通常用来执行后台计算和维护任务,如冗长的计算过程,打印机的后台打印等。 用户界面线程一般用于处理独立于其他线程执行之外的用户输入,响应用户及系统所产生的事件和消息等。 阅读全文

posted @ 2016-11-02 16:43 NoneButNow 阅读(229) 评论(0) 推荐(0) 编辑

MFC 定时器

摘要: 定义定时器ID #define TIMER_ID_CONTROL1 10000 #define TIMER_ID_CONTROL2 10001 #define TIMER_ID_CALLBACK 10002 设置定时器 SetTimer(TIMER_ID_CONTROL1, 1*1000, NULL 阅读全文

posted @ 2016-11-02 16:05 NoneButNow 阅读(236) 评论(0) 推荐(0) 编辑

MFC 系统托盘

摘要: 显示托盘 BOOL CMFCTrayDlg::OnInitDialog() { //... //设置托盘图标 //NOTIFYICONDATA m_NofityIcon;//.h设置为成员变量 m_NofityIcon.cbSize = sizeof(NOTIFYICONDATA); m_Nofit 阅读全文

posted @ 2016-11-02 14:22 NoneButNow 阅读(366) 评论(0) 推荐(0) 编辑

导航