Windows 汇编学习 - 2021-06-23

关于RadASM的快捷键

刚刚开始使用RadASM的IDE时,发现软件的快捷键全部无法使用。
重新安装了一遍,摸索得到解决方法如下。
在安装时要注意,语言一定要选择英文才可以!

关于Win32窗体的基础内容

创建一个基础的窗体,总体上需要经过下面几个流程:

  1. 获取应用程序和命令行的句柄
  2. 调用主函数(一般叫WinMain,但是可以更改)
    1. 使用WNDCLASSEX结构体注册并创建一个窗口
    2. 这个过程中要创建一个信息处理的函数,用来在之后的运行过程中处理信息

这里有一些地方比较复杂,备注一下:

WNDCLASSEX 结构体

  • cbSize WNDCLASSEX的大小(为什么?)
  • style 窗口的风格,可以用or来连接多个宏
  • lpfnWndProc 指向处理信息函数的指针
  • cbClsExtra 指向窗口类结构后的附加字节数
  • cbWndExtra 指向窗口事例后的附加字节数
  • hInstance 本模块句柄
  • hIcon 图标句柄
  • hCursor 光标句柄
  • hbrBackground 背景笔刷句柄
  • lpszMenuName 菜单指针
  • lpszClassName 类名称指针
  • hIconSm 小图标句柄

CreateWindowEx 函数的参数

  • dwExStyle 附加窗口风格,基本上是NULL
  • lpszClassName 类名称指针
  • lpszWindowName 窗口名称指针
  • dwStyle 窗口的风格,同WNDCLASSEX的style一样可以用or来连接
  • XY 左上角屏幕坐标,CW_USEDEFAULT设置最适合的大小
  • nWidthnHeight 像素为单位指定窗口大小,也可设置为CW_USEDEFAULT
  • hWndParent 父窗口的句柄
  • hMenu 菜单的句柄
  • hInstance 程序的句柄
  • lpParam 传给该窗体的结构体类型的指针

关于Win32 API和一众的inc/lib

有文档当然是最好。
但很多都藏得很隐蔽(莫得发现),
所以可以随时开一个窗口读INC文件。

至于Win32 API嘛,微软自己有文档。
点击传送!
就这样。

,0

上一篇:dll不是有效的win32程序


下一篇:C#-使用Win32_API的SendMessage实现指定窗口的模拟点击操作