Windows 创建窗口(模块、模块句柄、实例、进程)

注册一个窗口代码:

  1. 首先要获取该窗口的“上级”,即属于哪一个模块。
    1. 这里获取的是 模块句柄,也是实例,不是进程ID。窗口的上级并不是进程,而是模块。
    2. 一个进程由很多模块组成,比如执行文件 xx.exe模块,但光这一个模块不够,还需要 user32.dll模块等等,这些很多模块共同组成一个进程,而程序的主逻辑代码存储在 xx.exe模块中。
    3. 所以,我们获取的是这个 xx.exe句柄,因为我们在这个 xx.exe模块中创建的窗口,所以,窗口理应属于这一个模块中。
    4. 实例,以后我们就认为是“模块句柄”就好,这是16位遗留下来的东西,我们不用过多纠结。
    在这里插入图片描述
invoke	GetModuleHandle,NULL
		mov	hInstance,eax
  1. 注册窗口类
    1. 主要告诉windows操作系统,其所属的上级是谁,让其分发消息时别分错了。
    2. 还告诉操作系统,窗口过程 是谁。
    3. 这些内容都在 内核中有记录,其实 user32.dll中的就是根据内核存储的记录来对应 消息的收发。
		invoke	LoadCursor,0,IDC_ARROW
		mov	@stWndClass.hCursor,eax
		push	hInstance
		pop	@stWndClass.hInstance
		mov	@stWndClass.cbSize,sizeof WNDCLASSEX
		mov	@stWndClass.style,CS_HREDRAW or CS_VREDRAW
		mov	@stWndClass.lpfnWndProc,offset _ProcWinMain
		mov	@stWndClass.hbrBackground,COLOR_WINDOW + 1
		mov	@stWndClass.lpszClassName,offset szClassName
		invoke	RegisterClassEx,addr @stWndClass
  1. 创建并显示窗口
    1. 创建窗口步骤主要告诉操作系统,创建的窗口的长宽高等属性。
    2. 创建完成之后,返回一个窗口句柄,所以,以后我们对窗口的展示或者对窗口内容的更改就可以使用这个句柄。
invoke	CreateWindowEx,WS_EX_CLIENTEDGE,offset szClassName,offset szCaptionMain,\
			WS_OVERLAPPEDWINDOW,\
			100,100,600,400,\
			NULL,NULL,hInstance,NULL
		mov	hWinMain,eax
		invoke	ShowWindow,hWinMain,SW_SHOWNORMAL
		invoke	UpdateWindow,hWinMain
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
精易模块 V6.6.0 what's new: (20180801) 一、新增 1、新增“数组_寻找数组”查找一个数组里有没有该元素或者该元素的下标;感谢【@挥剑い为红颜 】建议 【@ggp 】的优化建议; 2、新增“内存_调用子程序_远程”“内存_远程创建内存_文本”“内存_远程创建内存_字节集”“内存_释放远程内存”远程CALL进程,可以用于进程通信,感谢【@1185384801 】开源并提供实例 3、增加“快速文本对象”-“取文件号”,更加自由的操作快速文本对象文件;感谢【@shituo 】建议 4、新增“进程_禁止被打开”,保护自身进程被OpenProcess 5、新增“文本_取文本所在行_优化版”新增参数 起始搜索位置,更加方便搜索指定内容,感谢【@墨影0620 】建议 6、新增“系统_生成随机mac”生成随机MAC以便程序使用; 7、新增“鼠标_监视_安装”“鼠标_监视_卸载”,监视鼠标左右中键,滚轮,鼠标所在窗口句柄,鼠标当前坐标等信息并输出; 8、新增“类_钩子-安装钩子_鼠标”类模块方式监视鼠标热键; 9、新增“系统_取屏幕数量”判断是否系统是否有双屏;感谢【@雪落有声 】提供源码; 10、新增“类_系统服务-取指定服务信息”,获取指定名称指定状态的系统服务信息; 11、新增“系统_取网卡信息_彗星版”,兼容黑月编译,获取更多信息; 12、新增“文本_删中间2”支持删除前后文本中间内容,而非从左寻找第一次出现的前后文本;感谢【@墨影0620 】建议并提供源码 13、新增“文本_是否为汉字2”利用取拼音命令来判断指定的文本是否是汉字;感谢【@Hoibben 】建议 14、新增“文本_取全部汉字拼音”取出指定文本全部汉字的拼音;感谢【@zl2017 】建议并提供源码; 二、修复 1、修复“系统_屏幕亮度”类命令,感谢【@forgaoqiang 】反馈 2、修复“类_钩子“ 回调方法参数,纠正回调参数的输出;感谢【@forgaoqiang 】反馈 3、修复“文本_朗读”“文本_朗读ex”文本朗读与写到文件是否成功的问题。 4、修复“类_HTML实体”不能正常转换的问题; 三、优化 1、优化“网页_Cookie合并更新”,优化合并后cookie长度错误的问题; 2、优化“类_屏幕亮度”,更改为“屏幕亮度_初始化”“屏幕亮度_调整”“屏幕亮度_销毁” 3、优化“快速文本对象”-“取文本”,优化获取命令;感谢【@shituo 】反馈 4、优化“文本_去重复文本”分割符留空则为逐字分割去重复。感谢【@墨影0620 】建议 5、优化“窗口_监视热键_注册”按键弹起时键代码的输出 6、优化“文本_取出中间文本”,减少过多的判断,提升命令效率;感谢【@shituo 】反馈;【@118184017 】建议 7、优化“类_钩子-安装键盘钩子”为“安装钩子_键盘” 8、优化“时间_格式化”备注信息 GetTimeFormatA 该函数支持的最早时间是1600.1.1【@hktkzy 】反馈 9、优化“文本区分_只取汉字”增加字节集判断汉字范围的功能,感谢【@易正易则 】反馈 10、优化“文本_取中间_批量”提升处理速度,增加执行效率;感谢【@74596877 】建议并提供源码
精易模块 V6.6.0 what's new: (20180801)  一、新增 1、新增“数组_寻找数组”查找一个数组里有没有该元素或者该元素的下标;感谢【@挥剑い为红颜 】建议 【@ggp 】的优化建议; 2、新增“内存_调用子程序_远程”“内存_远程创建内存_文本”“内存_远程创建内存_字节集”“内存_释放远程内存”远程CALL进程,可以用于进程通信,感谢【@1185384801 】开源并提供实例 3、增加“快速文本对象”-“取文件号”,更加自由的操作快速文本对象文件;感谢【@shituo 】建议 4、新增“进程_禁止被打开”,保护自身进程被OpenProcess 5、新增“文本_取文本所在行_优化版”新增参数 起始搜索位置,更加方便搜索指定内容,感谢【@墨影0620 】建议 6、新增“系统_生成随机mac”生成随机MAC以便程序使用; 7、新增“鼠标_监视_安装”“鼠标_监视_卸载”,监视鼠标左右中键,滚轮,鼠标所在窗口句柄,鼠标当前坐标等信息并输出; 8、新增“类_钩子-安装钩子_鼠标”类模块方式监视鼠标热键; 9、新增“系统_取屏幕数量”判断是否系统是否有双屏;感谢【@雪落有声 】提供源码; 10、新增“类_系统服务-取指定服务信息”,获取指定名称指定状态的系统服务信息; 11、新增“系统_取网卡信息_彗星版”,兼容黑月编译,获取更多信息; 12、新增“文本_删中间2”支持删除前后文本中间内容,而非从左寻找第一次出现的前后文本;感谢【@墨影0620 】建议并提供源码 13、新增“文本_是否为汉字2”利用取拼音命令来判断指定的文本是否是汉字;感谢【@Hoibben 】建议 14、新增“文本_取全部汉字拼音”取出指定文本全部汉字的拼音;感谢【@zl2017 】建议并提供源码; 二、修复 1、修复“系统_屏幕亮度”类命令,感谢【@forgaoqiang 】反馈 2、修复“类_钩子“ 回调方法参数,纠正回调参数的输出;感谢【@forgaoqiang 】反馈 3、修复“文本_朗读”“文本_朗读ex”文本朗读与写到文件是否成功的问题。 4、修复“类_HTML实体”不能正常转换的问题; 三、优化 1、优化“网页_Cookie合并更新”,优化合并后cookie长度错误的问题; 2、优化“类_屏幕亮度”,更改为“屏幕亮度_初始化”“屏幕亮度_调整”“屏幕亮度_销毁” 3、优化“快速文本对象”-“取文本”,优化获取命令;感谢【@shituo 】反馈 4、优化“文本_去重复文本”分割符留空则为逐字分割去重复。感谢【@墨影0620 】建议 5、优化“窗口_监视热键_注册”按键弹起时键代码的输出 6、优化“文本_取出中间文本”,减少过多的判断,提升命令效率;感谢【@shituo 】反馈;【@118184017 】建议 7、优化“类_钩子-安装键盘钩子”为“安装钩子_键盘” 8、优化“时间_格式化”备注信息 GetTimeFormatA 该函数支持的最早时间是1600.1.1【@hktkzy 】反馈 9、优化“文本区分_只取汉字”增加字节集判断汉字范围的功能,感谢【@易正易则 】反馈 10、优化“文本_取中间_批量”提升处理速度,增加执行效率;感谢【@74596877 】建议并提供源码
精易模块 V6.6.0 what's new: (20180801) 一、新增 1、新增“数组_寻找数组”查找一个数组里有没有该元素或者该元素的下标;感谢【@挥剑い为红颜 】建议 【@ggp 】的优化建议; 2、新增“内存_调用子程序_远程”“内存_远程创建内存_文本”“内存_远程创建内存_字节集”“内存_释放远程内存”远程CALL进程,可以用于进程通信,感谢【@1185384801 】开源并提供实例 3、增加“快速文本对象”-“取文件号”,更加自由的操作快速文本对象文件;感谢【@shituo 】建议 4、新增“进程_禁止被打开”,保护自身进程被OpenProcess 5、新增“文本_取文本所在行_优化版”新增参数 起始搜索位置,更加方便搜索指定内容,感谢【@墨影0620 】建议 6、新增“系统_生成随机mac”生成随机MAC以便程序使用; 7、新增“鼠标_监视_安装”“鼠标_监视_卸载”,监视鼠标左右中键,滚轮,鼠标所在窗口句柄,鼠标当前坐标等信息并输出; 8、新增“类_钩子-安装钩子_鼠标”类模块方式监视鼠标热键; 9、新增“系统_取屏幕数量”判断是否系统是否有双屏;感谢【@雪落有声 】提供源码; 10、新增“类_系统服务-取指定服务信息”,获取指定名称指定状态的系统服务信息; 11、新增“系统_取网卡信息_彗星版”,兼容黑月编译,获取更多信息; 12、新增“文本_删中间2”支持删除前后文本中间内容,而非从左寻找第一次出现的前后文本;感谢【@墨影0620 】建议并提供源码 13、新增“文本_是否为汉字2”利用取拼音命令来判断指定的文本是否是汉字;感谢【@Hoibben 】建议 14、新增“文本_取全部汉字拼音”取出指定文本全部汉字的拼音;感谢【@zl2017 】建议并提供源码; 二、修复 1、修复“系统_屏幕亮度”类命令,感谢【@forgaoqiang 】反馈 2、修复“类_钩子“ 回调方法参数,纠正回调参数的输出;感谢【@forgaoqiang 】反馈 3、修复“文本_朗读”“文本_朗读ex”文本朗读与写到文件是否成功的问题。 4、修复“类_HTML实体”不能正常转换的问题; 三、优化 1、优化“网页_Cookie合并更新”,优化合并后cookie长度错误的问题; 2、优化“类_屏幕亮度”,更改为“屏幕亮度_初始化”“屏幕亮度_调整”“屏幕亮度_销毁” 3、优化“快速文本对象”-“取文本”,优化获取命令;感谢【@shituo 】反馈 4、优化“文本_去重复文本”分割符留空则为逐字分割去重复。感谢【@墨影0620 】建议 5、优化“窗口_监视热键_注册”按键弹起时键代码的输出 6、优化“文本_取出中间文本”,减少过多的判断,提升命令效率;感谢【@shituo 】反馈;【@118184017 】建议 7、优化“类_钩子-安装键盘钩子”为“安装钩子_键盘” 8、优化“时间_格式化”备注信息 GetTimeFormatA 该函数支持的最早时间是1600.1.1【@hktkzy 】反馈 9、优化“文本区分_只取汉字”增加字节集判断汉字范围的功能,感谢【@易正易则 】反馈 10、优化“文本_取中间_批量”提升处理速度,增加执行效率;感谢【@74596877 】建议并提供源码

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值