- Win32gui: Windows图形界面接口模块。主要负责操作窗口切换以及窗口中元素id标签的获取
- Win32api: Windows开发接口模块。主要负责模拟键盘和鼠标操作,对win32gui获取的标签进行点击/获取值/修改值等操作
- Win32con:全面的库函数,提供Win32gui和Win32api需要的操作参数
Win32api 函数
SendMessage PostMessage GetCursorPos
等 win32api 与 win32gui 均包含的函数,用法也相同。
keybd_event
键盘事件
1 2 3 4 5 6 7 8 9 10 11
| # keybd_event(bVk, bScan, dwFlags , dwExtraInfo) # * bVk:为按键的虚拟键值,如回车键为vk_return, tab键为vk_tab其他键值具体参考:(注意转换16进制)https: # * bScan:为扫描码,一般不用设置,用0代替就行 # * dwFlags:为选项标志,如果为keydown则置0即可,如果为keyup则设成"KEYEVENTF\_KEYUP" # * dwExtraInfo:点击键关联的附加数据,一般置0即可 win32api.keybd_event(18,0,0,0) # 按下ALT键,按下后不会弹起 win32api.keybd_event(18,0, win32con.KEYEVENTF_KEYUP,0) # 手动点上键结束点击 ```
### `mouse_event` 鼠标事件
|
* dwFlags:控制鼠标移动和点击按钮的各个方面。可以是下列值的某些组合:MOUSEEVENTF_ABSOLUTE,MOUSEEVENTF_LEFTDOWN,MOUSEEVENTF_MIDDLEUP等
* dx:鼠标的位置沿x轴的位移
* dy:鼠标的位置沿y轴的位移
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0) #鼠标左键按下
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0) #鼠标左键拾起
1 2 3 4 5 6
|
### SetCursorPos
```bash win32api.SetCursorPos(x,y) # 将光标移到屏幕坐标(x,y)处
|
RegOpenKey
1 2 3 4 5 6 7
| win32api.RegOpenKey(hKey,ipSubKey,phkResult) 打开给定键,一般是打开一个现有的注册表项
endpoint_key=win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE,'SOFTWARE\\Ixia Communications\\Endpoint',0, win32con.KEY_READ)
|
RegQueryValueEx
1 2 3 4 5 6 7 8
| win32api.RegQueryValueEx(hKey, lpValueName, lpReserved, lpType, lpData, lpcbData) 检索一个已打开的注册表句柄中,指定的注册表键的类型和设置值。
install_path = win32api.RegQueryValueEx(endpoint_key,'Installation Directory')
|
RegCloseKey
1 2
| win32api.RegCloseKey(endpoint_key)
|