import pywinauto.keyboard
时间: 2023-12-27 17:23:35 浏览: 159
以下是使用pywinauto.keyboard模块模拟键盘操作的例子:
```python
from pywinauto.keyboard import SendKeys
# 模拟按下Ctrl+A和Ctrl+C
SendKeys('^a^c')
# 模拟按下Shift+Insert
SendKeys('+{INS}')
# 模拟按下Alt+F4
SendKeys('%{F4}')
```
相关问题
在 'pywinauto.keyboard.py' 中找不到引用 'send_keys'
如果你在使用 `pywinauto` 的时候,在 `keyboard` 模块中找不到 `send_keys` 函数,可能是因为你使用的是 `pywinauto` 的旧版本,或者你没有正确导入 `keyboard` 模块。
首先,确保你使用的是 `pywinauto` 的最新版本。你可以使用以下命令升级:
```
pip install --upgrade pywinauto
```
如果你已经安装了最新版本的 `pywinauto`,那么可能是你没有正确导入 `keyboard` 模块。你可以使用以下代码导入:
```python
from pywinauto import keyboard
```
如果你仍然无法找到 `send_keys` 函数,那么可能是 `pywinauto` 中已经移除了该函数。你可以查阅 `pywinauto` 的官方文档或者在 `pywinauto` 的 GitHub 仓库中查看新版本中更新了哪些内容。
from pywinauto.application import Application from pywinauto.keyboard import send_keys app = Application('win32').connect(class_name_re='class TMainFrame') dlg = app.window(class_name_re='class TMainFrame') #dlg.minimize() #dlg['MouseOrder'].print_control_identifiers() """ dlg['合 约Edit2'].set_edit_text('SHFE AU 2312') dlg['合 约Edit2'].type_keys('{ENTER}') dlg['数 量Edit7'].set_edit_text('5') """ #print(dir(dlg.child_window(best_match='sell').wrapper_object())) #print(dlg['sell'].wrapper_object()) #print(dir(dlg['sell'].wrapper_object())) #print(dlg['sell'].texts()) #print(dlg['sell'].children()) #dlg['sell'].print_control_identifiers() xia_dan = dlg['sell'].rectangle() print(xia_dan)
这段代码中,`dlg['sell'].rectangle()`返回的是一个矩形区域的坐标,表示`sell`控件在窗口客户区域中的位置和大小。具体来说,返回值是一个4元组 `(L, T, R, B)`,其中 `L` 表示矩形左边界的横坐标,`T` 表示矩形上边界的纵坐标,`R` 表示矩形右边界的横坐标,`B` 表示矩形下边界的纵坐标。
你可以通过这个矩形的坐标信息来计算控件的中心坐标或者其他需要的坐标信息。比如,如果你想要获取`sell`控件的中心坐标,可以使用以下代码:
```
x1, y1, x2, y2 = dlg['sell'].rectangle()
center_x = (x1 + x2) // 2
center_y = (y1 + y2) // 2
print("sell控件中心坐标为:({},{})".format(center_x, center_y))
```
这里的 `//` 表示整除运算符,保证计算结果为整数。
阅读全文