如何从我的Delphi应用程序运行此命令?
C:\ myapppath\appfolder> appname.exe/stext save.txt
我尝试了以下代码:
ShellExecute(0, nil, 'cmd.exe', 'cd C:\myapppath\appfolder', nil, SW_Hide);
ShellExecute(0, nil, 'cmd.exe', 'appname.exe /stext save.txt', nil, SW_Hide);
Run Code Online (Sandbox Code Playgroud)
但它没有用.有人能提供解决方案吗?
要运行CMD命令,您需要使用以下/C标志cmd.exe:
ShellExecute(0, nil, 'cmd.exe', '/C cd C:\myapppath\appfolder', nil, SW_HIDE);
ShellExecute(0, nil, 'cmd.exe', '/C appname.exe /stext save.txt', nil, SW_HIDE);
Run Code Online (Sandbox Code Playgroud)
但是,这将创建两个不同的会话,因此它将无法工作.但您可以使用ShellExecute appname.exe直接运行,如下所示:
ShellExecute(0, nil, 'appname.exe', '/stext save.txt', nil, SW_HIDE);
Run Code Online (Sandbox Code Playgroud)
但是您需要正确指定文件名.
我会做
var
path: string;
begin
path := ExtractFilePath(Application.ExeName);
ShellExecute(0, nil, PChar(Application.ExeName), PChar('/stext "' + path + 'save.txt"'), nil, SW_HIDE);
end;
Run Code Online (Sandbox Code Playgroud)
以防万一appname.exe是当前的申请.否则,替换Application.ExeName为完整路径appname.exe.
| 归档时间: |
|
| 查看次数: |
25508 次 |
| 最近记录: |