2017-04-27 5 views
1

パスカルプログラムから、そのファイルタイプのデフォルトプログラムを使ってファイル(音楽ファイル)を開く必要があります。これまでのところ私はそれを行うための最善の方法は、コマンドを実行するコマンドラインを使用するだろうと思う:パスカル・プログラムからコマンド・プロンプトを実行する方法は?

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のOpen/Startなど)に渡します。

実装もプラグイン可能です。したがって、特定のドキュメントを別の方法で開く場合(ブラウザの代わりにadobeで直接PDFなど)、インターセプトを作成できます。

0

このコードはあなたを助けることができます。

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

あなたはそのコードを使用するDOSユニットを使用する必要があります。

uses dos,...; 

(私の英語については申し訳ありません)

関連する問題