随笔分类 -  Win32

Win32程序设计
摘要:1 查找窗口 1.1 代码案例 2 查找子窗口 2.1 使用FindWindowEx()函数查找 2.2 使用资源ID查找 3 枚举子窗口控件 4 枚举所有打开窗口 5 模拟鼠标单击 6 模拟键盘点击 键盘键与虚拟键码对照表 MSDN:https://msdn.microsoft.com/en us 阅读全文
posted @ 2017-11-28 20:57 flatcc 阅读(387) 评论(0) 推荐(0)
摘要:1 进程的创建过程 打开系统 双击要运行的程序 EXE开始执行 步骤一: 当系统启动后,创建一个进程:Explorer.exe(也就是桌面进程) 步骤二: 当用户双击某一个EXE时,Explorer 进程使用CreateProcess函数创建被双击的EXE,也就是说,我们在桌面上双 击创建的进程都是 阅读全文
posted @ 2017-11-24 19:51 flatcc 阅读(499) 评论(0) 推荐(0)
摘要:1 信号量 信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。[百度百科] 1.1 创建信号量 函数说明: 第一个参数表示安全控制,一般直接传入NULL。 第二个参数表示初始资源数量。0时不发送信号 第三个参数表示最大并发 阅读全文
posted @ 2017-11-22 22:50 flatcc 阅读(243) 评论(0) 推荐(0)
摘要:1 内核对象 前面已经学过线程和互斥体两个内核对象。此节讲了事件这个内核对象。前面提出了内核对象这个概念,可能不太清晰,简单来说内核对象就是系统层的东西。 1.1 小结内核对象: 进程、线程、事件、互斥体、文件、文件映射等。 1.2 事件内核对象的创建 1.3 事件内核对象的获取 1.4 内核对象的 阅读全文
posted @ 2017-11-20 20:26 flatcc 阅读(335) 评论(0) 推荐(0)
摘要:1 引言 讲了第二个内核对象,互斥体。前面已经学过一个内核对象,线程。这节讲两个函数,WaitForSingleObject()和WaitForMultipleObjects()。因此这两个函数是根据内核对象的状态来进行操作的。 临界区:一个进程里面对线程进行互斥的控制。 互斥体:实现跨进程的互斥的 阅读全文
posted @ 2017-11-19 11:10 flatcc 阅读(498) 评论(0) 推荐(0)
摘要:1 引入 为什么会存在临界区这中机制呢?是为多线程同时访问全局变量而引入的。也就是上一篇帖子的末尾流出的问题程序的解决办法。 看懂了上面的,那么我们再罗嗦总结一下: 1.多线程访问全局变量时,存在线程安全问题。 2.局部变量不存在线程安全问题。 2 临界区的使用 2.1 创建CRITICAL_SEC 阅读全文
posted @ 2017-11-19 09:42 flatcc 阅读(400) 评论(0) 推荐(1)
摘要:线程控制 实验 挂起线程 恢复线程 终止线程 (这里讲了同步调用与异步调用) 判断线程是否结束 STILL_ACTIVE 正在运行 线程:CONTEXT结构 起因 每个线程在执行的时候,都会独自占用一个CPU,当系统中的线程数量 CPU的数量时,就会存在多个线程共用一个CPU的情况。但CPU每次只能 阅读全文
posted @ 2017-11-18 15:18 flatcc 阅读(355) 评论(0) 推荐(0)
摘要:1 什么是线程(Threads)? 什么是多线程? 怎么在windows中观察多线程? 线程可以简单理解为主程序为解决一个问题而选择的其中一条路线。 同理,多线程就是同时选择不同的路线来解决此问题。 windows可在任务管理器中,“选择列”选项中选择“线程”即可查看进程的线程。 2 创建线程 线程 阅读全文
posted @ 2017-11-15 22:10 flatcc 阅读(217) 评论(0) 推荐(0)
摘要:标准控件与可用控件 windows标准控件,标准控件总是可用的 Static Group Box Button Check Box Radio Button Edit ComboBox ListBox Windows通用控件,代码包含在Comctrl32.dll 以下列出通用控件 Animation 阅读全文
posted @ 2017-11-07 09:45 flatcc 阅读(603) 评论(0) 推荐(0)
摘要:在程序中使用图标 1.加载图标 2.设置图标 图标在哪里? == PE结构资源表 资源目录 资源目录项 数据项 可参考1:http://blog.sina.com.cn/s/blog_99fde17c0101717f.html 可参考2:http://blog.csdn.net/obuyiseng/ 阅读全文
posted @ 2017-11-05 10:39 flatcc 阅读(283) 评论(0) 推荐(0)
摘要:1 资源文件,创建对话框 详细步骤: 2 按钮、文本框的使用 3 为项目添加图标 4 对话框回调函数的定位 思路:根据前面三节逆向内容的经验,很容易判断。 5 OD消息断点的使用 思路:打开OD的 的窗口,在Button上设置消息断点LButtonUp,然后设置内存断点。能够快速过系统函数。 阅读全文
posted @ 2017-10-19 20:11 flatcc 阅读(356) 评论(0) 推荐(0)
摘要:1 Win32应用程序入口识别 思路:根据WinMain的四个参数,由调用顺序,知道最后压栈的是hInstance句柄(也就是WinMain函数的第一个参数,其值等于ImageBase),根据反汇编,则判断压栈参数是GetModuleHandle函数的返回值,即可找到Win32应用入口。 2 ESP 阅读全文
posted @ 2017-10-19 18:57 flatcc 阅读(949) 评论(0) 推荐(0)
摘要:1 第一个图形界面程序 2 什么是事件?什么是消息? "动作"即是事件,消息是对事件的具体描述。 Windows为了能够准确的描述这些信息,提供了一个结构体:MSG,该结构体里面记录的事件的详细信息. 说明: 1、hwnd:窗口句柄 表示消息所属的窗口 一个消息一般都是与某个窗口相关联的 在Wind 阅读全文
posted @ 2017-10-17 21:21 flatcc 阅读(354) 评论(0) 推荐(0)
摘要:1 多字节字符 ASCII码表:0 ~ 2^7 1 扩展ASCII码表:2^7 ~ 2^8 1 什么是GB2312:1980年,两个字节存储一个汉字;不通用,别国会有乱码。 UCICODE:只有一个字符集; 每个字符 都是16位宽。 2 C语言中的宽字符 2.1 宽字符的使用 "中"字的编码: AS 阅读全文
posted @ 2017-10-08 12:07 flatcc 阅读(578) 评论(0) 推荐(0)