ShellExecute和命令行

本文介绍了一种使用ShellExecute函数来调用cmd.exe执行Ping命令的方法。通过设置不同的参数,可以在Ping操作完成后保持或关闭命令提示符窗口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

原帖:

                                                 使用 ShellExecute 来进行 Ping 操作

今日闲来无聊, 看到优快云上有篇文章说关于 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$开发的程序一般都可以带参数运行,这个很好啊...带不同的参数,会有不同的最终结果.这点应该值得肯定.

ShellExecuteCreateProcess是Windows操作系统中的两个不同的函数,用于启动执行其他应用程序。 ShellExecute函数可以用于打开指定类型的文件、URL、应用程序或者执行其他操作。它属于Shell32.dll动态链接库中的一个功能函数,具有简单易用的特点。ShellExecute函数将指定的文件或操作交给操作系统来处理,操作系统会根据文件类型或者操作种类的不同来决定采取什么措施,例如用关联的程序打开文件、打开指定的网址等。ShellExecute还可以更改操作系统的默认处理程序,以便自定义文件、操作的打开方式。ShellExecute函数适用于不需要对新启动的程序进行严格控制监控的场景。 CreateProcess函数可以用于启动执行另一个可执行文件。它属于Kernel32.dll动态链接库中的一个功能函数,具有更多的参数选项,可以更加灵活地控制监控新启动的程序。CreateProcess函数可以指定新进程的可执行文件路径、命令行参数、环境变量等,并且可以创建一个新的进程并使其运行。CreateProcess函数还可以指定新进程的启动方式、窗口样式权限等参数,用于实现更加复杂的操作需求。CreateProcess函数适用于需要对新启动的程序进行精细控制监控的场景。 总结来说,ShellExecute函数适用于简单地启动执行外部应用程序或者操作,而CreateProcess函数则适用于更加复杂的、需要对新进程进行精细控制监控的情况。在实际应用中,我们可以根据具体需求选择合适的函数来启动执行其他应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值