2017-04-27 125 views
1

我需要从一个pascal程序使用该文件类型的默认程序打开一个文件(音乐文件专门)。到目前为止,我认为,要做到这一点的最好办法是使用命令行运行命令:如何从pascal程序运行命令提示符?

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

,但我不知道如何告诉CMD从帕内做一些事情。

回答

0

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

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

但你可能必须稍微摆弄这个。阅读系统过程的文档。

0

在Lazarus中有一个“OpenDocument”调用,它抽象出这个功能。在Windows上,它重新路由到ShellExecuteW函数,并在* nix上尝试将它传递给相关桌面打开程序(如在Windows上打开/启动)。

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

0

此代码可以帮助您:

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

必须使用DOS单位使用该代码:

uses dos,...; 

(对不起我的英语)

相关问题