如何通过PostMessage 启动一个带参数的子程序,请帮忙举个例子
解决方案 »
- 获取CPU序列号代码如下但是如错了
- 导出简单问题
- 关于拼音码中的数字与英文
- 怎么作一个实时显示摄像头拍摄内容的程序,而且最好是不考虑摄像头差异的,通用的
- 哪里有wwDBGrid控件下载?
- [求助]女朋友过生日送什么好
- 我用InstallShield Express Borland Limited Edition做安装软件,在BDE设置时选了BDE_ENT
- 关于TLB Editor自动生成代码功能和注释的冲突
- 关于VeriFone密码小键盘的驱动
- 其他应用程序中,得到焦点的控件(如edit,compobox)的句柄如何得到!
- 帮忙看一下这段很简单的Delphi程序
- 钩子问题.keyhook.dll库文件怎么安装?
//程序A,负责发消息
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,ShellApi, StdCtrls;const
WM_MyMessage = WM_USER + 1;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure MyTestPro(var Message: TMessage);message WM_MyMessage;
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.MyTestPro(var Message: TMessage);
begin
if Message.Msg=WM_MyMessage then
ShellExecute(0, 'Open', 'C:\B.exe', 'A B C', nil, SW_SHOWNORMAL) ;//B有3个启动参数A,B,C
inherited;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
Postmessage(self.Handle,WM_MyMessage,0,0);
end;
//B程序
procedure TForm1.FormCreate(Sender: TObject);
begin
showmessage('第1个参数'+ParamStr(1));
//ParamStr(1)为获取启参的第1个参数,以此类推ParamStr(2)...
end;
{
if ( NULL != g_pBitZamDlg )
{
g_nSocket = nSocket;
g_pBitZamDlg ->PostMessage( WM_COMMAND, MAKEWPARAM( 1022, BN_CLICKED ), NULL );
} return TRUE;
}请帮我翻译下这个,谢谢了