def selectComboboxItem(hwnd, item): '''Selects a specified item in a Combo box control. Arguments: hwnd Window handle of the required combo box. item The reqired item. Either an index, of the text of the required item. Usage example: # Change the font winGuiAuto.activateMenu(notepadWindow, ('edit', 'set font')) fontDialog = winGuiAuto.findTopWindow(wantedText='Font') fontCombos = winGuiAuto.findControls(fontDialog, lambda hwnd, windowText, windowClass: windowClass == "ComboBox") # Find the font selection combo for fontCombo in fontCombos: fontComboItems = list(winGuiAuto.getComboboxItems(fontCombo)) if 'Arial' in fontComboItems: break # Select at random winGuiAuto.selectComboboxItem(fontCombo, random.choice(fontComboItems)) ''' try: # item is an index 0 + item win32gui.SendMessage(hwnd, win32con.CB_SETCURSEL, item, 0) win32gui.SendMessage(win32gui.GetParent(hwnd), win32con.WM_COMMAND, ((win32con.CBN_SELCHANGE << 16) | win32api.GetWindowLong(hwnd, win32con.GWL_ID)), hwnd) except TypeError: # Item is a string items = list(getComboboxItems(hwnd)) itemIndex = items.index(item) selectComboboxItem(hwnd, itemIndex)