2017-04-27 121 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,...; 

(對不起我的英語)

相關問題