FindWindowEx一直失敗>"< |
尚未結案
|
ychch0819
一般會員 發表:25 回覆:29 積分:15 註冊:2006-08-09 發送簡訊給我 |
|
enter2004
初階會員 發表:51 回覆:94 積分:34 註冊:2005-04-10 發送簡訊給我 |
===================引 用 文 章=================== 剛接觸Window API,所以不知道哪邊寫錯....我想要取得我的程式上的一個Edit元件的Handle...程式如下: hwnd = FindWindow(NULL,"myprojectname"); if (hwnd) hwnd = FindwindowEx(hwnd, 0, "Edit",0); 第一個hwnd成功…可是到第二個就失敗了…我試過改成"TEdit"也不行…不知道哪邊錯了…>"< 應該是改成 Edit1 吧
------
人生就像泡泡一樣,乘著風被吹著跑,等你發現時已經消失了。 就在快要消失的瞬間,希望能再飛高一點, 但是回神時總是慢了一步。 |
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
奇怪,這題目怎麼我昨天才回應,但沒看到 @@
我測式過了,那個地方是要放TEdit才是正確的! 我用window的api去查過它的class name,但是怪的是,若你要找的那個window是本身自己,比如說你本身的title bar 叫 Form1而你查的就是Form1,而Form1下有一個Edit1那一切都正常,都可以得到handle。若你查的是別人的window,那就只能查到父的,不能查到子的元件,真的很怪,也不明白!
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
從貼我昨天可能沒有post成功的內容: char szText[256] = {0}; if (phwnd) ShowMessage(String().sprintf("Parent= %d, Child= %d, Text=%s",phwnd,chwnd,szText));
若這個程式的title就叫Test,那一切正常! 若是別的程式的tile 叫 Test 那你只能查到父handle,不知是為何吶! 我也納悶!
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
一定是我之前測到昏頭以為別的不行,事實上無論是自己或是別的window都可以查得到!! struct
if (phwnd) ShowMessage(result);
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
再補充一下,在FindWindowEx 中的registry class name 參數不一定猜得到,若會用純c寫windows的人應該都知道它是代表WNDCLASS這個結構體中的ClassName部份。經過VCL包裝後,你實在很難猜得到作者當時會註什麼名字,那個class name不是指 c 的class的東西,所以用c 的class名來猜也不一定對! for example : 經我測過注名的TntEdit元件,它的"註冊名"是TTntEdit.UnicodeClass,很難猜吧…
所以有必要的時候要用: char cn[256]= {0}; if(::GetClassName(TntEdit1->Handle,cn,255)) ShowMessage(cn); 這樣的api來查一下!
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |