问题描述
||
我是使用Windows XP的键盘迷,我想绑定Start-T以将键盘焦点放在任务栏图标上。 (因为它将比Start-B好很多,然后比Shift-Tab好得多。)
因此,我想编写一个Python程序,将键盘焦点放在任务栏图标上。我如何从Python做到这一点?我对控制Windows的行为知之甚少。
如果有一些现成的程序可以做到这一点,我也会很高兴听到这一消息。
解决方法
我99%肯定没有访问托盘通知区域的受支持方法。真正可聚焦的元素是溢出按钮,而不是托盘图标本身-Windows Shell团队不希望保证此按钮将始终是可聚焦的,甚至不保证此按钮在将来的Windows版本中将存在。因此,没有API可以访问它。这是一种非常骇人听闻的方法,可能会随时停止工作-仅供个人使用(在Windows 7上进行了测试):
import win32gui
import win32con
taskbar = win32gui.FindWindow(\"Shell_TrayWnd\",None)
trayArea = win32gui.FindWindowEx(taskbar,None,\"TrayNotifyWnd\",None)
win32gui.SetForegroundWindow(taskbar)
win32gui.SendMessage(trayArea,win32con.WM_SETFOCUS,0)
再一次,不要在其他人会使用的应用程序中使用它。 win32gui
模块是Win32扩展的一部分。
对于热键,您可以使用RegisterHotKey,但是让资源管理器处理它应该更简单-将脚本的链接添加到“开始”菜单并为其定义热键。