ShellExecute

機能
拡張子に関連付けられたプログラムを実行する
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                                      関連付けられているファイルがない