SendMessage問題。萬分危急。。在線等。。。感謝萬分 ( 积分: 50 )

  • 主题发起人 主题发起人 wutaoqing
  • 开始时间 开始时间
W

wutaoqing

Unregistered / Unconfirmed
GUEST, unregistred user!
現在有2個工程文件(.Exe文件)。A.exe 啝 B.exe
A.exe工程的主要任務 是發送一個消息給B.exe文件。
B.exe工程得到A.exe工程發送的消息後再進行相應的處理。

Eg: 在A.exe工程 中 當我按下Button1時 B.exe工程 將 showmessage('Button1')
在A.exe工程 中 當我按下Button2時 B.exe工程 將 showmessage('Button2')
在A.exe工程 中 當我按下Button3時 B.exe工程 將 showmessage('Button3')
請問:上面的例子(Eg)功能陔怎麽完成。謝謝各位大哥大姐的幫忙
 
你先做两个EXE程序
此EXE程序里的代码:
var
whd: HWND;
begin
whd := FindWindow(nil, PChar(另一程序的Caption));
PostMessage(whd, WM_APP, 0, 0);
end;

再在另一EXE程序里的代码:
procedure MyMsg(var Msg: TMessage); message WM_APP;

procedure TFrmMain.MyMsg(var Msg: TMessage);
begin
ShowMessage('收到你的信息。');
end;
 
兄弟,可以幫忙 寫詳細一點點嗎??
我剛才有COPY了你的代碼到2個EXE裏面,但是沒看見效果。
 
to:bbscom
ShowMessage('收到你的信息。')中,我怎麽判斷是button1點擊的,還是utton2點擊的呢??
 
定义:const int WM_CLICK = 0X00F5;

A->Button1 Click()
HANDLE hForm = FindWindow( NULL , "B 的 Form caption" );
HANDLE hButton = FindWindowEx(hForm,NULL,NULL,"B的Button1 caption");
SendMessage(hButton->Handle,WM_CLICK,0,0);

B->Button1 Click()
MessageBox("你的信息");
 
可以的,前两天做过差不多
 
这个程序可以用两种方式解决。
1。做成网络程序
2。通过获取窗体句柄

===============一会,我给你做一个网络!
 
3Q大家的幫忙
 
多人接受答案了。
 
后退
顶部