Jestem wielbicielem klawiatury korzystającym z systemu Windows XP i chcę się związać Początek-T umieścić fokus klawiatury na ikonie tacy. (Ponieważ będzie o wiele ładniejszy niż Początek-b a potem wielu Przesunięcie-Patkas.)
Chciałbym więc stworzyć program Pythona, który umieściłby fokus na ikonach na tacce. Jak mogę to zrobić z Pythona? Wiem niewiele o kontrolowaniu zachowania systemu Windows.
Jeśli jest jakiś gotowy program, który to robi, z przyjemnością też o tym usłyszę.
Odpowiedzi:
1 dla odpowiedzi № 1Mam 99% pewności, że nie ma obsługiwanego sposobudostęp do obszaru powiadomień podajnika. Elementem, na który można się skupić, jest przycisk przepełnienia, a nie sama ikona zasobnika - a zespół Windows Shell nie chce zagwarantować, że ten przycisk będzie zawsze aktywny, a nawet, że ten przycisk będzie istniał w przyszłych wersjach systemu Windows. Więc nie ma API aby uzyskać do niego dostęp, jest to bardzo hackowy sposób, może przestać działać w dowolnym momencie - wyłącznie do użytku osobistego (testowane na 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, 0)
Jeszcze raz, nie używaj go w aplikacji, której będą używać inne osoby. win32gui
moduł jest częścią Rozszerzenia Win32.
Do skrótu możesz użyć RegisterHotKey ale powinno być łatwiej pozwolić, aby Explorer obsługiwał to - dodaj link do skryptu do menu Start i zdefiniuj dla niego skrót klawiszowy.