求一个例子,两个运行程序如何用消息来通讯的。 就是一个EXE如何通过消息来控制另一个EXE的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //form1发送控制消息 到form2 注意form1 和form2不是同一个程序unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);var t:hwnd;begint:=findwindow(nil,'form2');//form2为窗口captionif t<>0 thensendmessage(t,1099,0,0);end;end.//form2 接受到后处理unit Unit2;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;type TForm2 = class(TForm) function FormHelp(Command: Word; Data: Integer; var CallHelp: Boolean): Boolean; private { Private declarations } public procedure showmsg(var msg:tmessage);message 1099; { Public declarations } end;var Form2: TForm2;implementation{$R *.DFM}procedure tform2.showmsg(var msg:tmessage);beginshowmessage('收到消息');end; 对不起 一时匆忙 form2中请去掉function FormHelp(Command: Word; Data: Integer; var CallHelp: Boolean): Boolean; 我倒是有一个vc写的例子,要的话留mail 使用函数:例如 var PStartupInfo: TStartupInfo; aProcessInfo: TProcessInformation;begin CreateProcess(nil,PChar(pchar('C:\WINDOWS\NOTEPAD.EXE'), nil, nil, False, DETACHED_PROCESS, nil, nil, PStartupInfo, aProcessInfo);end; sunny518(灵犀) (您好,你的方法是正确的,但是如果A程序是自己开发的,B程序不是自己开发的,这样的情况该如何处理呢? 是呀,难就难在这里了,比如要用A程序控制SQL2000的查询分析器,理论上这个方法是可行的,但找不到接口。 请教如何解析文本或字符串中的信息 汉字自动生成五笔存在的问题?? 请教! 请问:iocomp工控控件可以在bcb6中安装么?似乎不行啊 这样定义的有何区别? 这样在父窗体前出现登陆窗体 delphi中有类似C++中的vector那样的容器吗? 青岛的DELPHI程序员弟兄姐妹们,请进来说一说你们的状况。 求救,关于QuickRep.Preview 的简单问题,谢谢,急,急,急,马上给分 请教关于音频 请问.......简单的问题 sailer_shi(笨笨虫)!进来吧! win2k+Delphi6+SQl Server2000程序win98运行问题!急!!!
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
var t:hwnd;
begin
t:=findwindow(nil,'form2');//form2为窗口caption
if t<>0 then
sendmessage(t,1099,0,0);
end;
end.
//form2 接受到后处理
unit Unit2;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;type
TForm2 = class(TForm)
function FormHelp(Command: Word; Data: Integer;
var CallHelp: Boolean): Boolean;
private
{ Private declarations }
public
procedure showmsg(var msg:tmessage);message 1099;
{ Public declarations }
end;var
Form2: TForm2;implementation{$R *.DFM}procedure tform2.showmsg(var msg:tmessage);
begin
showmessage('收到消息');
end;
function FormHelp(Command: Word; Data: Integer;
var CallHelp: Boolean): Boolean;
例如
var
PStartupInfo: TStartupInfo;
aProcessInfo: TProcessInformation;
begin
CreateProcess(nil,PChar(pchar('C:\WINDOWS\NOTEPAD.EXE'),
nil, nil, False, DETACHED_PROCESS, nil, nil, PStartupInfo, aProcessInfo);
end;
您好,你的方法是正确的,但是如果A程序是自己开发的,B程序不是自己开发的,这样的情况该如何处理呢?