請問怎麼獲取某個程式的handle?和WM_MouseMovede的使用 |
答題得分者是:malanlk
|
hbh1
一般會員 發表:4 回覆:4 積分:1 註冊:2005-08-07 發送簡訊給我 |
|
malanlk
尊榮會員 發表:20 回覆:694 積分:577 註冊:2004-04-19 發送簡訊給我 |
用 SPY 去看該視窗的註冊類別, 然後用 FindWindow(PChar('查到的ClassName'), NULL); 如果找到 回應就會是 handle... SDK WM_MOUSEMOVE 的解說 xPos Value of the low-order word of lParam. Specifies the x-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area. yPos Value of the high-order word of lParam. Specifies the y-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area. 是距離該 Handle視窗 左上角的距離
|
hbh1
一般會員 發表:4 回覆:4 積分:1 註冊:2005-08-07 發送簡訊給我 |
引言: 用 SPY 去看該視窗的註冊類別, 然後用 FindWindow(PChar('查到的ClassName'), NULL); 如果找到 回應就會是 handle...1.请问可以指定某个运行了的程序xxx.exe,然后列出他所有的handle吗? 2.我在form1上有2个按扭,第一个按扭的代码: PostMessage(form1.Handle,WM_LBUTTONDOWN,0,LOWORD(20) HIWORD(20)); PostMessage(form1.Handle,WM_LBUTTONUP,0,LOWORD(20) HIWORD(20)); 第2个按扭位于form1的(20,20),代码: showmessage('ddffff'); 为什么我按下按扭1,不能启动按扭2的事件?要怎么做才可以? 發表人 - hbh1 於 2005/08/30 14:10:51 |
malanlk
尊榮會員 發表:20 回覆:694 積分:577 註冊:2004-04-19 發送簡訊給我 |
|
hbh1
一般會員 發表:4 回覆:4 積分:1 註冊:2005-08-07 發送簡訊給我 |
引言: 1. ㄧ定可以, 不然 SPY 是怎麼做的, 可是難度頗高.... 2. 先回答 PostMessage(button2.Handle,WM_LBUTTONDOWN,0,LOWORD(5) HIWORD(5)); PostMessage(button2.Handle,WM_LBUTTONUP,0,LOWORD(5) HIWORD(5));spy 我不用到,装完有错误信息,但我用其他工具可以查到类名和handle,我做的程序1用来控制程序2的,但每次程序2重新启动后,原来的handle就变了,请问怎么才能才自己的程序获取那个handle啊?我需要获取的按扭的类名是button,但程序2里面有许多个按扭类名都是button,用findwind查不到,有什么其他方法获取当中某个按纽的handle |
malanlk
尊榮會員 發表:20 回覆:694 積分:577 註冊:2004-04-19 發送簡訊給我 |
假設兩程式 P1, P2 每次 P2 重新啟動
1. P1 用 FindWindow找到 P2
2. 可以用 FindWindowEx 找出 P2 子視窗(Button 也是視窗哦)的Handle.
(也可以用 EnumChildWindows 找出所有子視窗) 如果P1, P2 都是自己寫的, 就可以用SendMessag傳送自訂訊息的方式取得你想控制按鈕的 Handle... 每次 P2 重新啟動
1. P1 用 FindWindow找到 P2
2. P1 用 SendMessage(P2.Handle, wm_TellMeButtonHandle, n, 0) 傳送你想取得 P2 上第n個 Button 的 Handle (SendMessage 傳回值是長整數可自行定義)
3. P2 接到 wm_TellMeButtonHandle 就將 第n個 Button 的 Handel 傳回去. 發表人 - malanlk 於 2005/08/30 17:33:50
|
hbh1
一般會員 發表:4 回覆:4 積分:1 註冊:2005-08-07 發送簡訊給我 |
引言: 假設兩程式 P1, P2 每次 P2 重新啟動 1. P1 用 FindWindow找到 P2 2. 可以用 FindWindowEx 找出 P2 子視窗(Button 也是視窗哦)的Handle. (也可以用 EnumChildWindows 找出所有子視窗) 如果P1, P2 都是自己寫的, 就可以用SendMessag傳送自訂訊息的方式取得你想控制按鈕的 Handle... 每次 P2 重新啟動 1. P1 用 FindWindow找到 P2 2. P1 用 SendMessage(P2.Handle, wm_TellMeButtonHandle, n, 0) 傳送你想取得 P2 上第n個 Button 的 Handle (SendMessage 傳回值是長整數可自行定義) 3. P2 接到 wm_TellMeButtonHandle 就將 第n個 Button 的 Handel 傳回去. 發表人 - malanlk 於 2005/08/30 17:33:50ok~~~~~~~~thank you very much 能交个朋友吗?我还有些问题想请教,有用QQ或icq或msn吗? |
malanlk
尊榮會員 發表:20 回覆:694 積分:577 註冊:2004-04-19 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |