[問題] 原PO來謝罪了,但還是想求得答案

作者: areyo (沒有名字的怪物)   2016-07-19 13:40:48
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
c++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
win32 api
問題(Question):
餵入的資料(Input):

預期的正確結果(Expected Output):
取得combobox指標
錯誤結果(Wrong Output):
取不到combobox的指標
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
寫在前頭,真的很對不起大家,搞錯自己的程式,解釋太多也是藉口
但還是希望求得解答,我想抓取一個combobox控件,它由VB寫成,
並放在groupbox裡,順序先取該程式handle,再取groupbox的指標,最後就是取combobox
HWND main = ::FindWindowA(0,"POSDLLDemo");(有拿到值)
HWND frame = ::FindWindowExA(main,0,0,"Port Config"); (也有拿到)
HWND hComboBox,hButton=0;
class name我是透過spy++去抓的,試過去抓也在groupbox下的元件,如Button
//這樣可以抓到
hButton = ::FindWindowExA(frame,0,"ThunderRT6CommandButton","Open");
再次麻煩大家指教,謝謝
附上SPY++圖檔
http://imgur.com/BZIXLIb
我改成這樣,可是一樣抓不到,是什麼原因呢?
HWND hComboBox,hNext=0;
do{
hComboBox = ::FindWindowExA(frame,hNext,"ThunderRT6ComboBox","COM7");
}while(hComboBox!=0);
作者: wtchen (沒有存在感的人)   2016-07-19 14:37:00
以後按照規則發文就好,你要不要先把source code補足阿?只留部份有時候很難幫你(板工水晶球等級不夠)
作者: areyo (沒有名字的怪物)   2016-07-19 14:38:00
謝謝,核心的就這些 就init時就執行這幾行
作者: TobyH4cker (Toby (我要當好人))   2016-07-19 17:40:00
關鍵應該就在Z order了,你把MSDN的說明看過一遍了嗎?你能貼出Spy++整個視窗的元件截圖嗎?我覺得你附這個我對問題比較有幫助然後我覺得,啦,你解決我上面兩點應該就會知道問題了
作者: areyo (沒有名字的怪物)   2016-07-19 22:36:00
Toby,已修改過,但還是找不到
作者: TobyH4cker (Toby (我要當好人))   2016-07-20 04:57:00
http://github.com/TobySkarting/ComboBoxEnumeration心血來潮就寫了一個,主要問題在一些能改Text的Window它的Text並不能當成Window Text傳
作者: kiedveian (極地之星光)   2016-07-20 07:34:00
是抓到沒做事,還是真的沒抓到?
作者: areyo (沒有名字的怪物)   2016-07-20 11:19:00
我把最後一個參數"COM7"拿掉就有抓到了,謝謝。
作者: TobyH4cker (Toby (我要當好人))   2016-07-20 11:57:00
我就說是神奇寶貝吧,抓到了Gocha

Links booklink

Contact Us: admin [ a t ] ucptt.com