模擬按下PopupMenu |
尚未結案
|
gavinj123
初階會員 發表:88 回覆:48 積分:27 註冊:2002-10-15 發送簡訊給我 |
unit Unit1; interface uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus; type
TForm1 = class(TForm)
PopupMenu1: TPopupMenu;
show1: TMenuItem;
procedure show1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1; implementation {$R *.DFM} procedure TForm1.show1Click(Sender: TObject);
begin
showmessage('test');
end; end. 我想從另一個程式,叫上個那程式按下PopupMenu的show選項,請問我要sendmessage給上面那個程式的那個元件啊,我try過send給form1,結果沒用,可是又抓不到PopupMenu的hand?
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
剛在看離線包時, 看到了這一題
正好是小弟這幾天請教天使大人、jackkcg、flyup、RaynorPao 等兄台的問題
今天有了結果, 就在這兒回答一下。
步驟如下, 試試看吧:
1.用 FindWindow 的方式找出該程式的 Window Handle
假設用 ProgramHandle 這個變數代替
2.用 ResHacker 看一下該程式的 PopupMenu 的 Show1
這個 MenuItem 的 ID 是多少, 假設是 32774
轉成 16 進位其值為 $8006
3.再用 SendMessage(ProgramHandle, WM_COMMAND, Integer(DWORD($8006)), 0); 即可
最後要感謝 jackkcg 與 flyup 兩兄台提供資料給小弟
以及感謝那位在 Delphi Pages 網站提供小弟這個答案的前輩。 --
將進酒 杯莫停 與君歌一曲 請君為我傾耳聽 發表人 - hagar 於 2003/01/22 22:37:59
|
banson1716
高階會員 發表:55 回覆:182 積分:167 註冊:2002-04-14 發送簡訊給我 |
|
gavinj123
初階會員 發表:88 回覆:48 積分:27 註冊:2002-10-15 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
引言: hagar大大,小弟用了ResHacker 看了一下該程式,可是就是找不到MenuItem 的 ID ,請問是要在那裡找,是在"字串表","資源資料",還是其他的選項中找呢??真的哩! 用 Delphi 寫的程式 ResHacker 可以看到 PopMenu 的 MenuItem 的名稱等, 但就是沒 ID 找了之前 ccchen 前輩的 GetMenu 方法, 小弟試沒 有成功, 不知道是不是 GetMenu 不能用在 PopMenu 的關係?小弟再去找答案。 -- 將進酒 杯莫停 與君歌一曲 請君為我傾耳聽 (hagar@gcn.net.tw) |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |