AsuYuHomepage
トップページ サイトの説明 子供の成長記録 JM BAR Delphi リンク集
Home>>プログラミング>>Tips&Tricks>>拡張子で関連付けられた実行ファイルで起動する
Delphi Tips
Delphi Win32API
ダウンロード

Delphi Tips & Tricks

拡張子で関連付けられた実行ファイルで起動する

拡張子で関連つけられているプログラムで指定されたファイルを開きます。
ファイルだけでなくフォルダ、アドレス指定でホームページも開けます。
成功すると実行プログラムのインスタンスを返すので制御も可能になります。
使い方も簡単で便利な関数です。
uses SHELLAPI;//uses節に追加
-----------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
     ShellExecute(Handle,nil,PChar(OpenDialog1.Filename),nil,nil,SW_NORMAL);
end;

function ShellExecute(hWnd: HWND;        // 親ウィンドウのハンドル
                      Operation : PChar  // 操作
                      FileName  : PChar  // 操作対象のファイル
                      Parameters: PChar // 操作のパラメータ
                      Directory : PChar; // 作業ディレクトリ
                      ShowCmd   : Integer)// 表示状態
                      : HINST;

第1引数:hWnd

 親ウィンドウのハンドルを指定します。普通はフォームのハンドルを表す Handle でいいでしょう。
第2引数:PChar
 実行する操作を選択します。指定できるパラメータは
open 関連つけられたプログラムで開く。
edit エディタで開く。
explore エクスプローラで開く。
print ファイルを印刷する。
properties ファイルのプロパティを表示する。
 などでこの引数に nil を指定した場合、利用可能な時はopenが適用されます。
第3引数:PChar
 操作するファイル名またはフォルダ名を指定します。
第4引数:PChar
 ファイル名に実行ファイルを指定した場合、ここで実行時引数を指定できます。
とりあえず nil でいいでしょう。
第5引数:PChar
 作業ディレクトリを指定する引数でしょう。ここも nil でいいでしょう。
第6引数:nCmdShow
 この関数で表示される実行ファイルの表示状態を指示するフラグを指定します。
SW_SHOWNORMAL 通常の位置とサイズで表示
SW_MAXIMIZE 最小化で起動
SW_MINIMIZE 最大化で起動

 ほかにもありますがこれ3つあればほとんどは足りるでしょう。