kcvinu, When you create a control using a native GUICtrlCreate* function, the return value is a ControlID - an integer value. AutoIt uses this ControlID to identify the control - it is in fact the index of the internal array that AutoIt uses to track native control. When you create a control using a UDF, the return is a handle -  a special unique value used by Windows to track virtually everything in the system. In your first script above you are using the native command - so the $hCombo1 variab