美文网首页
2019-04-24 delphi执行 cmd命令

2019-04-24 delphi执行 cmd命令

作者: netppp | 来源:发表于2019-04-24 11:14 被阅读0次

    使用Shellexecute注意需要uses ShellApi,上面的记事本,因为是在系统目录下,所以可以直接写notepad.exe文件名,而不必写路径,如果是其他非环境变量中注册的exe,则需要带上绝对路径或者相对路径

    好,上面是最简单的,下面我们来说说带参数的运行,大家知道,有些exe程序在运行的时候可以附加参数,这里以cmd为例说明

    比如,我想运行ping命令,去执行ping 192.168.1.1

    WinExec(PChar( 'cmd.exe /c ping 192.168.1.1'),SW_SHOWNORMAL);

    shellexecute(handle,nil,'cmd.exe',pchar('/c ping 192.168.1.1'),nil,sw_normal);

    注意,cmd的命令需要是用/c表示带参数运行,然后后面跟上具体命令,这样就可以执行ping命令了。

    上面的命令的确可以成功运行,但是有个缺点,那就是cmd在执行完毕后就会自动关闭窗口,如果有时候命令执行的过快,我们根本看不清结果,那么,有什么办法可以让cmd在执行完毕后不关闭窗口呢?答案是肯定的,我们需要一个额外的命令pause

    WinExec(PChar( 'cmd.exe /c ping 192.168.1.1& pause'),SW_SHOWNORMAL);

    我们注意红色部分,我们使用一个&符号和pause,pause是批处理中的暂停命令,&符号则表示可以执行多个命令,上面的例子就表明,在执行完ping命令后再执行pause命令,这样,窗口就不会关闭了。shellexecute同样支持该方法。

    相关文章

      网友评论

          本文标题:2019-04-24 delphi执行 cmd命令

          本文链接:https://www.haomeiwen.com/subject/svbwgqtx.html