パスカルプログラムから、そのファイルタイプのデフォルトプログラムを使ってファイル(音楽ファイル)を開く必要があります。これまでのところ私はそれを行うための最善の方法は、コマンドを実行するコマンドラインを使用するだろうと思う:パスカル・プログラムからコマンド・プロンプトを実行する方法は?
open C:/Users/defaultuser0/Music/filename.wav
が、私はパスカルの中から何かをするcmdを伝えるするかどうかはわかりません。
パスカルプログラムから、そのファイルタイプのデフォルトプログラムを使ってファイル(音楽ファイル)を開く必要があります。これまでのところ私はそれを行うための最善の方法は、コマンドを実行するコマンドラインを使用するだろうと思う:パスカル・プログラムからコマンド・プロンプトを実行する方法は?
open C:/Users/defaultuser0/Music/filename.wav
が、私はパスカルの中から何かをするcmdを伝えるするかどうかはわかりません。
Windowsを使用していると仮定すると、ShellExecuteプロシージャを使用する必要があります(shellapiユニットを含める必要があります)。コマンドはおそらく
ShellExecute (application.handle, 'open',
'C:/Users/defaultuser0/Music/filename.wav', nil, nil, SW_MAXIMIZE)
であるかもしれませんが、これをわずかに回避しなければならないかもしれません。システム・プロシージャーの資料をお読みください。
Lazarusには、この機能を抽象化する "OpenDocument"呼び出しがあります。 Windowsでは、ShellExecuteW関数にリルートされ、* nixでは関連するデスクトップのオープンプログラム(WindowsのOpen/Startなど)に渡します。
実装もプラグイン可能です。したがって、特定のドキュメントを別の方法で開く場合(ブラウザの代わりにadobeで直接PDFなど)、インターセプトを作成できます。
このコードはあなたを助けることができます。
swapvectors;
exec('cmd','/c open "C:/Users/defaultuser0/Music/filename.wav"');
swapvectors;
あなたはそのコードを使用するDOSユニットを使用する必要があります。
uses dos,...;
(私の英語については申し訳ありません)