如何从pascal程序运行命令提示符?

时间:2017-04-27 01:44:51

标签: cmd pascal

我需要使用pascal程序中的该文件类型的默认程序打开一个文件(具体是音乐文件)。到目前为止,我认为最好的方法是使用命令行来运行命令:

open C:/Users/defaultuser0/Music/filename.wav

但我不知道如何告诉cmd在pascal中做某事。

3 个答案:

答案 0 :(得分:0)

假设您使用的是Windows,则需要使用ShellExecute过程(并包含shellapi单元)。该命令可能是

ShellExecute (application.handle, 'open', 
'C:/Users/defaultuser0/Music/filename.wav', nil, nil, SW_MAXIMIZE)

但是你可能不得不稍微改变一下。阅读系统程序的文档。

答案 1 :(得分:0)

在Lazarus中有一个" OpenDocument"调用摘要此功能。在Windows上,它重新路由到ShellExecuteW函数,并在* nix上尝试将其传递给相关的桌面打开程序(如在Windows上打开/启动)。

该实现也是可插拔的,因此如果您想以不同方式打开某个文档(例如直接在adobe而不是浏览器中打印PDF),您可以编写拦截。

答案 2 :(得分:0)

此代码可以帮助您:

swapvectors;
exec('cmd','/c open "C:/Users/defaultuser0/Music/filename.wav"');
swapvectors;

您必须使用DOS单位才能使用该代码:

uses dos,...;

(抱歉我的英文)