我需要使用pascal程序中的该文件类型的默认程序打开一个文件(具体是音乐文件)。到目前为止,我认为最好的方法是使用命令行来运行命令:
open C:/Users/defaultuser0/Music/filename.wav
但我不知道如何告诉cmd在pascal中做某事。
答案 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,...;
(抱歉我的英文)