拡張子に関連付けられたプログラムを実行する
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile as String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hWnd As Integer, ByVal lpOperation As String, ByVal lpFile as String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Integer) As Integer
HINSTANCE ShellExecute(
HWND hwnd,
LPCTSTR lpVerb,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);
引数
hWnd
親ウィンドウのハンドルlpOperation
実行を操作する次の文字列
vbNullStringを指定したときは"Open"と解釈される。
lpFile
ファイル名 or ディレクトリ名lpParameters実行プログラムの場合のパラメータlpDirectory作業ディレクトリ名nShowCmd実行されたアプリケーションの表示方法を指定する定数戻り値
正常終了のとき 32以上備考
エラーのとき 31以下の定数
この関数は2つの異なる意味を持っている。サンプル
1つはファイルの拡張子に関連付けられたプログラムを起動する。
もう1つは、エクスプローラを子弟の方法で表示させることができる。
サンプルではWindows\Programsフォルダをエクスプローラを使って表示させている。
ダウンロード(ShellExecute.lzh 2.52KB)
nCmdShowの定数
戻り値の定数
SW_HIDE = 0 指定のウインドウを非表示にし、他のウインドウをアクティブ化する
SW_MINIMIZE = 6 指定のウインドウをアイコン化し
タスクリスト内のトップレベルウインドウをアクティブ化する
SW_RESTORE = 9 ウインドウをアクティブ化し、表示する。
ウインドウがアイコン化または最大化されているときは
元の位置とサイズに復元する
SW_SHOW = 5 ウインドウをアクティブ化し、現在の位置とサイズで表示する
SW_SHOWMAXIMIZED = 3 ウインドウをアクティブ化し、最大表示する
SW_SHOWMINIMIZED = 2 ウインドウをアクティブ化し、アイコン化する
SW_SHOWMINNOACTIVE = 7 ウインドウをアイコン化する。
現在アクティブなウインドウは、アクティブなままにする。
SW_SHOWNA = 8 ウインドウを表示する。
現在アクティブなウインドウは、アクティブなままにする。
SW_SHOWNOACTIVATE = 4 以前に表示された位置とサイズで表示する。
現在アクティブなウインドウは、アクティブなままにする。
SW_SHOWNORMAL = 1 SW_RESTORE と同じ
0 メモリ不足
ERROR_FILE_NOT_FOUND = 2 ファイルが見つからない
ERROR_PATH_NOT_FOUND = 3 パスが見つからない
ERROR_BAD_FORMAT = 11 ファイルが無効
31 関連付けられているファイルがない