今日闲来无聊, 看到CSDN上有篇文章说关于 ShellExecute 函数的使用,突发奇想,如何利用 ShellExecute这个好东东来调用 cmd.exe 这个命令提示符程序并赋予一个值给它,让它自动进行 Ping 操作?
关键发现: 先打开MS-DOS 窗口研究,在命令提示字符下输入 cmd/? ,查看cmd.exe这个M$一直保留的程序的帮助,有了发现.
//===================================================================
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses shellapi;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute (Handle,nil,'cmd.exe','/K ping 127.0.0.1',nil,SW_NORMAL);
//-----这句是使用参数 /K,Ping完 IP 127.0.0.1 后,cmd.exe窗口静静的等你看结果哦...
//ShellExecute (Handle,nil,'cmd.exe','/C ping 127.0.0.1',nil,SW_NORMAL);
//-----这句是使用参数 /C,Ping完 IP 127.0.0.1 后,cmd.exe窗口消失了...
end;
end.
//=====================================================================
一点感想:
M$开发的程序一般都可以带参数运行,这个很好啊...带不同的参数,会有不同的最终结果.这点应该值得肯定.