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)