我有这个在Windows 10上正常工作的代码,我用它来使用pywinAuto向特定窗口发送文本和输入密钥,但一旦我try 在另一个使用win 11的系统中使用它,它就不起作用了. 代码如下:

import pywinauto
import time

boolBisCheckbox = False
def parar(eachFfox):

    global boolBisCheckbox
    if boolBisCheckbox == False:
        appname = r"\[FIREFOX " + eachFfox + r"\]"
    else:
        appname = r"\[FIREFOX " + eachFfox + r"2\]"
    handle = pywinauto.findwindows.find_window(title_re=appname)
    app = pywinauto.application.Application(backend="win32").connect(handle=handle)
    Wizard = app[appname]
    Wizard.send_keystrokes("parar")
    time.sleep(0.5)     
    Wizard.send_keystrokes("{ENTER}") 
    time.sleep(6) 
    Wizard.send_keystrokes("{ENTER}")
    time.sleep(10) 
    Wizard.send_keystrokes("{ENTER}")
input()
parar("A")

错误如下:

Traceback (most recent call last):
  File "C:\pypy\testParar.py", line 23, in <module>
    parar("A")
  File "C:\pypy\testParar.py", line 12, in parar
    handle = pywinauto.findwindows.find_window(title_re=appname)
  File "C:\Python\lib\site-packages\pywinauto\findwindows.py", line 113, in find_window
    element = find_element(**kwargs)
  File "C:\Python\lib\site-packages\pywinauto\findwindows.py", line 84, in find_element
    elements = find_elements(**kwargs)
  File "C:\Python\lib\site-packages\pywinauto\findwindows.py", line 283, in find_elements
    elements = [elem for elem in elements if _title_match(elem)]
  File "C:\Python\lib\site-packages\pywinauto\findwindows.py", line 283, in <listcomp>
    elements = [elem for elem in elements if _title_match(elem)]
  File "C:\Python\lib\site-packages\pywinauto\findwindows.py", line 279, in _title_match
    t = w.rich_text
  File "C:\Python\lib\site-packages\pywinauto\win32_element_info.py", line 83, in rich_text
    return handleprops.text(self.handle)
  File "C:\Python\lib\site-packages\pywinauto\handleprops.py", line 92, in text
    buffer_ = create_unicode_buffer(length)
  File "C:\Python\lib\ctypes\_init_.py", line 297, in create_unicode_buffer
    buf = buftype()
MemoryError

我采用了另一台运行win 10的PC中使用的相同代码,并且该代码正常工作,并在win 11中使用了它.这两个系统都有32 GB的RAM. 我在谷歌上try 寻找类似的问题,但只找到了一个,而且没有问题的答案.

推荐答案

我刚刚确定了罪魁祸首,非常感谢您的见解Vasily Ryabov!它是键盘的SteelSeriesGG. EE应用程序(臃肿软件 *..),即使在托盘里,它也以某种方式扰乱了它.

Python相关问答推荐

使用from_pandas将GeDataFrame转换为polars失败,ArrowType错误:未传递numpy. dype对象

返回nxon矩阵的diag元素,而不使用for循环

删除任何仅包含字符(或不包含其他数字值的邮政编码)的观察

处理(潜在)不断增长的任务队列的并行/并行方法

如何制作10,000年及以后的日期时间对象?

' osmnx.shortest_track '返回有效源 node 和目标 node 的'无'

为什么默认情况下所有Python类都是可调用的?

对所有子图应用相同的轴格式

如何根据一列的值有条件地 Select 前N组?

为什么np. exp(1000)给出溢出警告,而np. exp(—100000)没有给出下溢警告?

如何更改groupby作用域以找到满足掩码条件的第一个值?

在pandas数据框中计算相对体积比指标,并添加指标值作为新列

* 动态地 * 修饰Python中的递归函数

在Python中使用yaml渲染(多行字符串)

用SymPy在Python中求解指数函数

Discord.py -

判断Python操作:如何从字面上得到所有decorator ?

Python协议不兼容警告

为什么在Python中00是一个有效的整数?

Stats.ttest_ind:提取df值