其实你只要模拟鼠标的点击就可以了.
-------------以下在BAS中定义---------------------------
Public Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long
Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Public Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Public Type POINTAPI
        X As Long
        Y As Long
End TypePublic Const MOUSEEVENTF_LEFTDOWN = &H2 '  left button down
Public Const MOUSEEVENTF_LEFTUP = &H4 '  left button up
-------------------------如下在主程序中------------------------
   '注意是象素   
   X = (Me.Left + Combo1.Left + Combo1.Width - 15) / 15
   '这里要加上标题栏的高度   
   Y = (Me.Top + Combo1.Top + Combo1.Height * 2 - 15) / 15
   
   SetCursorPos X, Y
   
    mouse_event MOUSEEVENTF_LEFTDOWN, X, Y, 0, 0
    mouse_event MOUSEEVENTF_LEFTUP, X, Y, 0, 0
--------------------------结束--------------------------

解决方案 »

  1.   

    我在http://expert.csdn.net/Topic/10829.shtm中已经解答过这个问题
    Public Const CB_SHOWDROPDOWN = &H14F
    Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    '拉下combox
        SendMessage Combo1.hwnd, CB_SHOWDROPDOWN, True, ByVal 0&
    '收起combox
        SendMessage Combo1.hwnd, CB_SHOWDROPDOWN, False, ByVal 0&