Jump to content
Sign in to follow this  

Python: Get Current Index Selection of ComboBox

Recommended Posts


I know you're expecting a question, but actually this is just the answer to the question! I decided to post this here because through some mega-googling and forum snooping I finally came up with a solution to the problem. Since this forum has been very informative to me in the past I decided it was my duty to post this information here so the next guy doesn't need to waste many hours of his life trying to solve the problem.


You need to know the index of the current selection of a combo box using AutoIt via the COM interface in Python.


Python 2.7 or greater.

PyWin32 (If you just have the ActiveState version of Python installed this will be done automatically)

AutoIt 3.3 or greater.


from win32com.client import Dispatch
from win32api import SendMessage
from win32con import CB_GETCURSEL

The first import is for actually loading the COM class of AutoIt.

The second import is a Win32 function for sending messages to controls.

The third import is a constant that represents the message type you want to send.


strWindowTitle = 'TESTAPP'
strComboBoxID = '[CLASS:ComboBox; INSTANCE:1]'

#COM handle for AutoIt
comAutoIt = Dispatch("AutoItX3.Control")

#Get handle on combobox control.
#We get a string representation of hex that needs to be converted to int.
hdlComboBox = int(comAutoIt.ControlGetHandle(strWindowTitle, '', strComboBoxID), 16)

#Get the current index of the combobox. (Index is 0 based)
intIndex = SendMessage(hdlComboBox, CB_GETCURSEL, 0, 0)

Hope that was helpful!

Edited by cowofevil

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this