Y
yypeng
Unregistered / Unconfirmed
GUEST, unregistred user!
我想让另一个程序的combobox改变值,想用此函数找到那个窗口的combobox,然后模拟点击下键,来选择值,并按回车确认。这个函数我在98下完全可以通过,但在2000下就不行了,调试它发现它只执行一次,就是只能取得所给窗口句柄中的第一个控件句柄就退出了,所以程序不能够找到那个combobox句柄,我不知道这个函数在98下和在2000下有什么不同?请各位大侠能够告诉我。我起初还以为我的2000不行,换了台机器,依然是这样,我想,这可能是此函数在98中和2000中不一样, 请各位大侠给小生讲解一下为什么吧! 太感谢了。。。。。。。。。。。function EnumChildWndProc(AhWnd:HWnd;<br> AlParam:lParam):boolean;stdcall;<br>var<br> WndClassName: array[0..254] of Char;<br> TXT:STRING;<br> Hwnd,h1: THandle;<br> Text: string;<br> Count: Integer;<br>begin<br> GetClassName(AhWnd,wndClassName,255);<br> if pos('COMBOBOX',uppercase(strpas(wndclassname)))>0 then<br> begin<br> Count := SendMessage(AHwnd, CB_GETCOUNT, 0, 0);<br> IF COUNT=4 THEN<br> BEGIN<br> SENDMESSAGE(aHWND,WM_KEYDOWN,VK_DOWN,0);<br> SENDMESSAGE(aHWND,WM_KEYDOWN,VK_DOWN,0);<br> SENDMESSAGE(AHWND,WM_KEYDOWN,VK_RETURN,0);<br> END;<br> end;<br><br> if Pos('EDIT',uppercase(strpas(wndclassname)))>0 then<br> sendmessage(ahwnd,wm_settext,0,longint(pchar(apppath+'tmp')));<br>end;