blk5743
高階會員
![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif)
![](images/icon_photo_none.gif) 發表:34 回覆:371 積分:236 註冊:2003-11-17
發送簡訊給我
|
請問一下 如果我有一個程式,他的caption為AAABBB
我可以用 FindWindow(NULL,"AAABBB")來尋找
可是如果我要caption為AAAXXX(XXX是變數,不一定)
所以我想用 FindWindow(NULL,"AAA")來尋找
可是會失敗(應該是caption沒有完全相同)
那請問我應該用哪一個API來尋找呢??(我只確定AAA是固定的)
|
CuteBabyBoy
初階會員
![](./myimg/board/mystar.gif)
![](c:\1.jpg) 發表:18 回覆:97 積分:48 註冊:2003-07-11
發送簡訊給我
|
我有個想法.妳參考一下.... 因為 FindWindow 只會 Return 一個 Handle 值... 假設有兩個程式(條件都成立)再 Run 時. 此時不就 Error 了... 所以您乾脆一次列出,所有正在執行的程式的 Caption,之後妳再來比對那些符合妳的條件即可.... 至於怎麼列出正在 Running 的程式 , 站上有資源... 加油吧...^^
|
m8815010
版主
![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif)
![](images/icon_photo_none.gif) 發表:99 回覆:372 積分:289 註冊:2003-11-13
發送簡訊給我
|
引言:
請問一下 如果我有一個程式,他的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
高階會員
![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif)
![](images/icon_photo_none.gif) 發表:34 回覆:371 積分:236 註冊:2003-11-17
發送簡訊給我
|
因為m8815010有給sample code(對不是很熟的人有很有幫助)
所以分數就給m8815010了
同時也感謝CuteBabyBoy的回覆
|