全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1161
推到 Plurk!
推到 Facebook!

如何做出類似 Alt + Tab 鍵的功能

尚未結案
CuteBabyBoy
初階會員


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

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-09-09 09:26:08 IP:218.167.xxx.xxx 未訂閱
Dear All 我希望能控制畫面上所有正在執行的程式,當我切換到任一程式,即可得到 Focus ( 如果強迫讓它 Ontop 就更好 ^^ ) 我試過 PROCESS ID 的方式 (目前還在測試) 我已經能將我所執行過的程式推上來 並用 SetWindowPos 將此程式 HWND_TOPMOST 但此方式只能應用在我所執行過的程式 希望有遇過類似情形的朋友能指導一下,謝謝
gemi0305
版主


發表:81
回覆:564
積分:629
註冊:2003-05-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-09-09 10:25:29 IP:210.66.xxx.xxx 未訂閱
不知這能否幫助你 先開一個記事本    再用以下範例:     
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
     HWND handle = NULL;
     handle = ::FindWindow( NULL, "未命名 - 記事本");         if (::IsWindow(handle))
     {
        ::ShowWindow( handle, SW_SHOWMINIMIZED);
        ::ShowWindow( handle, SW_SHOWNORMAL);
     }
     else
        ShowMessage("Not found the Window");
}
國泰平安 發表人 -
CuteBabyBoy
初階會員


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-09-09 14:05:17 IP:218.167.xxx.xxx 未訂閱
Dear gemi0305 謝謝您的回應,只可惜與我所需的不太相同 我的目的就是要像按 Ctrl Alt Delete 鍵後,列出所有正在 Run 的程式,並能對這些程式做動作 因為我今天要控制的程式,是要在不知道 Caption 的情況下控制它,所以不能用FindWindow去找到其 Handle! 我目前的想法如下 ( 不知道有沒有錯 ? 還是有更好的方式 ? ) 第一步 ==> 列出此時此刻所有正在 Windows 上正在執行的程式 第二步 ==> 針對其程式的 ID 轉成 Handle 去做我想要做的事 希望有類似經驗的朋友....能指教 ^^
gemi0305
版主


發表:81
回覆:564
積分:629
註冊:2003-05-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-09-09 14:18:46 IP:210.66.xxx.xxx 未訂閱
你可以先參考bruce0211 大哥的文章, http://delphi.ktop.com.tw/topic.php?TOPIC_ID=18760 中的「列出目前桌面上所有視窗代碼 」 可以從程式得到這些「程式」的Caption、類別名稱及Hanlde 代碼, 有這些資訊,就可以開啟windows正在run的「程式」了 國泰平安
gemi0305
版主


發表:81
回覆:564
積分:629
註冊:2003-05-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-09-09 14:29:00 IP:210.66.xxx.xxx 未訂閱
這裡有dllee大哥寫的程式,可以參考或收藏, 我覺得是個很好的東西~ http://delphi.ktop.com.tw/topic.php?TOPIC_ID=30743 只是沒有「呼叫程式」的功能,但不難寫, caption、classname、handle都有,你可以自己試試~ 國泰平安
系統時間:2024-06-02 1:02:22
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!