求一个例子,两个运行程序如何用消息来通讯的。 就是一个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的查询分析器,理论上这个方法是可行的,但找不到接口。 DELPHI 中怎么显示svg图形 请DELPHI高手帮忙,本人很着急。谢谢! 问问大家Delhpi开发报表的话,用什么控件的呀,最优秀的是什么报表控件呀? 怎样在文件中搜索字符串并返回此字符串所在行的文件指针? 请问怎么控制 StringGrid 的某一行 或 一列为只读 优先级别 table表中日期字段比较问题? 如何实现像金山词霸那样朗诵中文,微软的TTS怎样才可以发出中文?急用! 为什么访问共享目录会出现“找不到网络路径”? 公式的定制 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程序不是自己开发的,这样的情况该如何处理呢?