当远程桌面被最小化时,发现使用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')
解决方案:
- 本机关闭电脑关闭所有的远程桌面.
- 打开注册表(regedit.exe).
- 找到这个key:HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client
- 添加一个DWORD值,命名为RemoteDesktop_SuppressWhenMinimized,值设置为2,如图:
- 在64位的操作系统里可能需要在另外一个key里重复上面的DWORD值添加步骤:HKEY_CURRENT_USER\Software\Wow6432\Microsoft\Terminal Server Client
不过我的win10没找到这个key,所以没有添加 - 开闭注册表,重新远程即可(本机不用重启)