執行應用程式 |
尚未結案
|
leonard
一般會員 發表:42 回覆:42 積分:21 註冊:2003-10-18 發送簡訊給我 |
|
HomeSound
中階會員 發表:44 回覆:178 積分:94 註冊:2002-08-31 發送簡訊給我 |
leonard您好:
WinExec("背景程式.exe",SW_SHOW); SetForegroundWindow(Application->Handle); HWND hwnd1=FindWindow("背景程式ClassName",NULL); PostMessage(hwnd1, WM_KEYDOWN, VK_MENU, 0); PostMessage(hwnd1, WM_KEYDOWN, 70, 0); PostMessage(hwnd1, WM_KEYUP, VK_MENU, 0); ......很笨很直接,不知是不是這樣 --==多看.多學.多聽==--
------
--==多看.多學.多聽==-- |
leonard
一般會員 發表:42 回覆:42 積分:21 註冊:2003-10-18 發送簡訊給我 |
|
HomeSound
中階會員 發表:44 回覆:178 積分:94 註冊:2002-08-31 發送簡訊給我 |
如果"應用程式"也是您寫的可以用視窗與視窗的
自訂Message傳遞方式就可以獲得解決.
#define CM_MYINTMESSAGE (WM_APP 60).... keybd_event(xx,0,0,0);只會對最前景的視窗
產生作用,對背景程式得用
PostMessage(背景程式hwnd1,WM_KEYDOWN,70,0);去觸發 若是"應用程式"沒有執行鍵盤指令那就甭談了.
可攔截"應用程式"的Message,知道後在傳Message給
該"應用程式"使其動作. 如果可找到子視窗的代碼亦可縮||隱藏吧! --==多看.多學.多聽==--
------
--==多看.多學.多聽==-- |
leonard
一般會員 發表:42 回覆:42 積分:21 註冊:2003-10-18 發送簡訊給我 |
|
HomeSound
中階會員 發表:44 回覆:178 積分:94 註冊:2002-08-31 發送簡訊給我 |
|
leonard
一般會員 發表:42 回覆:42 積分:21 註冊:2003-10-18 發送簡訊給我 |
也就是這樣做
WinExec("C:\\bin\\cc_app.exe",SW_SHOW);
SetForegroundWindow(Application->Handle);
HWND hwnd1=FindWindow("/Simulator Studio",NULL);
PostMessage(hwnd1, WM_KEYDOWN, 18, 0);
PostMessage(hwnd1, WM_KEYDOWN, 70, 0);
PostMessage(hwnd1, WM_KEYUP, 18, 0);
.....
|
HomeSound
中階會員 發表:44 回覆:178 積分:94 註冊:2002-08-31 發送簡訊給我 |
WinExec("Notepad.exe",SW_SHOW); Sleep (100); SetForegroundWindow(Application->Handle); HWND hwnd1,hwnd2; char ButtonName[256]; hwnd1=FindWindow("Notepad",NULL); if(hwnd1) { Label1->Caption="1"; hwnd2=GetWindow(hwnd1,GW_CHILD);//子視窗 do{ GetClassName(hwnd2,ButtonName,255); if(!strcmp(ButtonName,"Edit")) { Label1->Caption="2"; PostMessage(hwnd2,WM_KEYDOWN,VK_MENU,0); PostMessage(hwnd2,WM_KEYDOWN,50,0);//2 PostMessage(hwnd2,WM_KEYDOWN,56,0);//8 PostMessage(hwnd2,WM_KEYUP,VK_MENU,0); PostMessage(hwnd2,WM_KEYDOWN,VK_RETURN,0); PostMessage(hwnd2,WM_CHAR,'F',0); //F PostMessage(hwnd2,WM_CHAR,'O',0); //O } hwnd2=GetWindow(hwnd2,GW_HWNDNEXT); }while(hwnd2); }結果差強人意.Notepad的子視窗可背景打字,證明PostMessage有作用 RETURN也可以,不過就是這個Alt鍵有問題,送不過去 >
------
--==多看.多學.多聽==-- |
leonard
一般會員 發表:42 回覆:42 積分:21 註冊:2003-10-18 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |