Sie können Ctypes-Bibliothek verwenden.
diesen Code vor:
import ctypes
EnumWindows = ctypes.windll.user32.EnumWindows
EnumWindowsProc = ctypes.WINFUNCTYPE(ctypes.c_bool, ctypes.POINTER(ctypes.c_int), ctypes.POINTER(ctypes.c_int))
GetWindowText = ctypes.windll.user32.GetWindowTextW
GetWindowTextLength = ctypes.windll.user32.GetWindowTextLengthW
SendMessage = ctypes.windll.user32.SendMessageW
IsWindowVisible = ctypes.windll.user32.IsWindowVisible
def foreach_window(hwnd, lParam):
if IsWindowVisible(hwnd):
length = GetWindowTextLength(hwnd)
buff = ctypes.create_unicode_buffer(length + 1)
GetWindowText(hwnd, buff, length + 1)
if(buff.value == "Choose File to Upload"): #This is the window label
SendMessage(hwnd, 0x0100, 0x09, 0x00000001)
return True
EnumWindows(EnumWindowsProc(foreach_window), 0)
Sie Schleife an jedem offenen Fenster, und Sie einen Tastendruck auf der einen schicken Sie wählen.
Die SendMessage Funktion bekommt 4 params: Das Fenster Hendler (hwnd
), The phisical Schlüssel zu senden - WM_KEYDOWN (0x0100) Die virtual-key code von tab
(0x09
) und die repeat count, scan code, extended-key flag, context code, previous key-state flag, and transition-state flag
im 4. Argumente.
Sie können auch Schlüssel hoch, Taste unten, Zeichen, Rückgaben und etc ... Verwenden Sie die Dokumentation für Hilfe.
ich verwendet, um dieses als Referenz: Win32 Python: Getting all window titles
Viel Glück!
Mögliches Duplikat [eine Datei in Python mit einfachen Dialog Wahl] (http://stackoverflow.com/questions/3579568/Wählen einer Datei-in-Python-mit-einfachen-Dialog) –
@Alvin Bitte beachten Sie den Hinweis. – kame
Selen wird dir nicht helfen. Haben Sie [tag: AutoIt], [tag: Sikuli], [tag: RobotFramework] betrachtet. – SiKing