python win32gui 无法控制 最小化后的桌面

当远程桌面被最小化时,发现使用win32gui控制某软件置于最前台显示时失效,并报错:

  File "C:\Users\Administrator\Desktop\py-auto-login\robot\ktt_auth_code.py", line 156, in wx_login
    win32gui.SetForegroundWindow(self._main_wnd)
  pywintypes.error: (0, 'SetForegroundWindow', 'No error message is available')

解决方案:

  1. 本机关闭电脑关闭所有的远程桌面.
  2. 打开注册表(regedit.exe).
  3. 找到这个key:HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client
  4. 添加一个DWORD值,命名为RemoteDesktop_SuppressWhenMinimized,值设置为2,如图:
    参考设计图
  5. 在64位的操作系统里可能需要在另外一个key里重复上面的DWORD值添加步骤:HKEY_CURRENT_USER\Software\Wow6432\Microsoft\Terminal Server Client
    不过我的win10没找到这个key,所以没有添加
  6. 开闭注册表,重新远程即可(本机不用重启)

解决方案原文

posted @ 2023-03-31 15:04  流失的痕迹  阅读(357)  评论(0编辑  收藏  举报