線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1941
推到 Plurk!
推到 Facebook!

用FindWindow的部份WindowName來找Handle

尚未結案
blk5743
高階會員


發表:34
回覆:371
積分:236
註冊:2003-11-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-09-16 16:45:27 IP:61.66.xxx.xxx 未訂閱
請問一下 如果我有一個程式,他的caption為AAABBB 我可以用 FindWindow(NULL,"AAABBB")來尋找 可是如果我要caption為AAAXXX(XXX是變數,不一定) 所以我想用 FindWindow(NULL,"AAA")來尋找 可是會失敗(應該是caption沒有完全相同) 那請問我應該用哪一個API來尋找呢??(我只確定AAA是固定的)
CuteBabyBoy
初階會員


發表:18
回覆:97
積分:48
註冊:2003-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-09-16 18:17:46 IP:218.167.xxx.xxx 未訂閱
我有個想法.妳參考一下.... 因為 FindWindow 只會 Return 一個 Handle 值... 假設有兩個程式(條件都成立)再 Run 時. 此時不就 Error 了... 所以您乾脆一次列出,所有正在執行的程式的 Caption,之後妳再來比對那些符合妳的條件即可.... 至於怎麼列出正在 Running 的程式 , 站上有資源... 加油吧...^^
m8815010
版主


發表:99
回覆:372
積分:289
註冊:2003-11-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-09-16 22:24:30 IP:210.244.xxx.xxx 未訂閱
引言: 請問一下 如果我有一個程式,他的caption為AAABBB 我可以用 FindWindow(NULL,"AAABBB")來尋找 可是如果我要caption為AAAXXX(XXX是變數,不一定) 所以我想用 FindWindow(NULL,"AAA")來尋找 可是會失敗(應該是caption沒有完全相同) 那請問我應該用哪一個API來尋找呢??(我只確定AAA是固定的)
blk5743你好: 誠如 >! 也就是說這 >! 也就是: class="code"> ~~ AnsiString CaptnWeNeed="AAA"; HWND HwndWeNeed; bool __stdcall FindPrgmHwnd(HWND hnd,LPARAM lparam); //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- bool __stdcall FindPrgmHwnd(HWND hnd,LPARAM lparam) { char Wndname[128]; ZeroMemory(Wndname,128); GetWindowText(hnd,Wndname,128); if (IsWindowVisible(hnd)) { if (AnsiString(Wndname).SubString(1,4)==CaptnWeNeed) { HwndWeNeed=hnd; return false; } } return true; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { EnumWindows((WNDENUMPROC)FindPrgmHwnd,0); } //--------------------------------------------------------------------------- 精神上就是列舉系統視窗值,只要發現有一個視窗的Caption前3碼是"AAA"就回傳! 當然有可能會找到另一個視窗Caption同為"AAA"開始的,所以看你要先自行確定系統是否有其它這類的視窗,或是用上述第一點的建議作法,就讓你自行trade off了! >! 發表人 -
blk5743
高階會員


發表:34
回覆:371
積分:236
註冊:2003-11-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-09-21 16:05:46 IP:61.66.xxx.xxx 未訂閱
因為m8815010有給sample code(對不是很熟的人有很有幫助) 所以分數就給m8815010了 同時也感謝CuteBabyBoy的回覆
系統時間:2024-05-04 13:50:38
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!