我需要用程序实现直接将参数传递给jtmail文件,在网上查到用ShellExecute函数直接运行可执行文件,但是对于要传递参数的问题,一直没有找到答案。跟踪paramstr(i)的值好像一直没有结果,请高手指点,最好有个例子,不胜感谢!
解决方案 »
- 关于数据的导出?谢谢
- 我想问一下,SOCKET发送信息除了发送TEXT格式外,还有一种把数据封包发送的方法,
- 怎样在COMBOBOX中显示某个SQLERVER服务器中的数据库列表
- 请问各位高手, 怎么样从数据库sql2000读取图片(IMAGE)字段???
- 如何令SQL返回的结果集为可写。?
- 如何读取二进制文件,高分求救,在线等待,马上放分
- 如何自定义数据库结构??
- 如何画树
- 如何用delphi6.0在outlook中加上一个按钮?小弟很着急!希望高手帮忙!!
- 离开DBRichtext控件时出错,显示Dataset is not in Edit or insert mode.为什么?
- 关于A DOTable的Active的问题!急。。在线等待!(请各位高手指点)
- 菜鸟问题:在过程中写edit1.text:=''出错,说Edit1未定义。
ShellExecute 总共有6个参数
参数 类型及说明
hWnd,指定一个窗口的句柄,有时候,windows程序有必要在创建自己的主窗口前显示一个消息框
Operation,指定字串“open”来打开lpFlie文档,或指定“Print”来打印它
FileName,想用关联程序打印或打开一个程序名或文件名
Parameters,如lpszFlie是可执行文件,则这个字串包含传递给执行程序的参数
Directory,想使用的完整路径
ShowCmd,定义了如何显示启动程序的常数值。ShowCmd参数的说明如下SW_HIDE 隐藏窗口,活动状态给令一个窗口
SW_MINIMIZE 最小化窗口,活动状态给令一个窗口
SW_RESTORE 用原来的大小和位置显示一个窗口,同时令其进入活动状态
SW_SHOW 用当前的大小和位置显示一个窗口,同时令其进入活动状态
SW_SHOWMAXIMIZED 最大化窗口,并将其激活
SW_SHOWMINIMIZED 最小化窗口,并将其激活
SW_SHOWMINNOACTIVE 最小化一个窗口,同时不改变活动窗口
SW_SHOWNA 用当前的大小和位置显示一个窗口,不改变活动窗口
SW_SHOWNOACTIVATE 用最近的大小和位置显示一个窗口,同时不改变活动窗口
SW_SHOWNORMAL 与SW_RESTORE相同 使用例子:ShellExecute(self.Handle,PChar('Open'),PChar('jtmail.exe'),nil,nil,SW_SHOWNORMAL);
//以下是要显示参数的程序
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
ShowMessage(ParamStr(1));
end;end.//以下是调用的程序
unit Unit2;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ShellAPI, StdCtrls;type
TForm2 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form2: TForm2;implementation{$R *.dfm}procedure TForm2.Button1Click(Sender: TObject);
begin
ShellExecute(self.Handle,PChar('Open'),PChar('Project1.exe'),'1456987',nil,SW_SHOWNORMAL);
end;