ShellExecute和命令行

107 篇文章 0 订阅
107 篇文章 1 订阅

前段时间我在网上发现一篇帖子,专门讲用ShellExcute来使用cmd.exe里的ping命令,感觉很新鲜,于是试了一下。我将它做成了单击事件,使命令只需用手一点按钮就能执行!太方便了,还是非常实用的,我把具体过程写在下面:

原帖:

                                                 使用 ShellExecute 来进行 Ping 操作

今日闲来无聊, 看到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窗口静静的等你看结果哦...

(摘自 http://tech.itdb.cn/n/200608/10/n20060810_59748.shtml)



    //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$开发的程序一般都可以带参数运行,这个很好啊...带不同的参数,会有不同的最终结果.这点应该值得肯定.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值