SHELLEXECUTEINFO構造体

宣言文
Type SHELLEXECUTEINFO
    cbsize As Long                        構造体のバイト数
    fMask As Long                         構造体の有効なメンバを指定する定数の組み合わせ
    hWnd As Long                          親ウィンドウのハンドル
    lpVerB As String                      動作名(ShellExecute()関数のlpOperationと同じ)
    lpFile As String                      ファイル名
                                          (フルパスでないときは、カレントディレクトリを使用する)
    lpParameters As String                アプリケーションに渡すパラメータ
                                          パラメータは空白で区切る
                                          lpFileがドキュメントファイルのときはvbNullString
    lpDirectory As String                 作業ディレクトリ
                                          (指定がないときはカレントディレクトリを使用)
    nShow As Long                         表示方法を指定する定数
                                          lpFileがドキュメントのときは0
    hInstApp As Long                      (戻り値)関数の実行結果を受けるバッファ
                                          (正常終了のときは31を超える数値)
    'lpIDList As ITEMIDLIST               ITEMIDLIST構造体
    lpIDList As Long                      (使わないのでLong型に変更した)
                                          (fMaskにSEE_MASK_IDLISTを設定していないときは無効)
    lpClass As String                     ファイルクラス名 or GUID
                                          (fMaskにSEE_MASK_CLASSNAMEを設定していないときは無効)
    hkeyClass As Long                     ファイルクラスのWindowsレジストリキーハンドル
                                          (fMaskにSEE_MASK_CLASSKEYを設定していないときは無効)
    dwHotKey As Long                      ホットキー
                                          (fMaskにSEE_MASK_HOTKEYを設定していないときは無効)
    hIcon As Long                         ファイルクラスのアイコン
                                          (fMaskにSEE_MASK_ICONを設定していないときは無効)
    hProcess As Long                      起動したプロセスのハンドル
                                          (fMaskにSEE_MASK_NOCLOSEPROCESSを設定していないとき、常に0)
End Type
fMaskの定数
SEE_MASK_CLASSKEY = &H3                hKeyClassで与えるクラスキーを使用する
SEE_MASK_CLASSNAME = &H1               lpClassで与えるクラス名を使用する
SEE_MASK_CONNECTMETDRV = &H80          ドライブと接続する
                                       (lpFileはネットワーク上のUNCパス名と接続する)
SEE_MASK_DOENVSUBST = &H200            lpDirectory or lpFileで与えられる文字列内の環境変数を展開する
SEE_MASK_FLAG_DDEWAIT = &H100          関数から戻る前終了するため、DDE接続を待つ
SEE_MASK_FLAG_NO_UI = &H400            エラー発生時にはエラーメッセージボックスを表示しない
SEE_MASK_HOTKEY = &H20                 dwHotKeyで与えられるホットキーを使用する
SEE_MASK_ICON = &H10                   hIconで与えられるアイコンを使用する
SEE_MASK_IDLIST = &H4                  lpIDListで与えられるITEMIDリストを使用する
SEE_MASK_INVOKEIDLIST = &HC            アプリケーションを起動するため
                                       lpIDListで与えられるITEMIDリストを使用する
                                       (lpIDListが0のとき新しいITEMIDちストを作成する)
SEE_MASK_NOCLOSEPROCESS = &H40         ShellExecuteEx()関数終了後、プロセスの実行を継続する
hInstApp(戻り値)の定数
SE_ERR_FNF = 2                         ファイルが見つからない
SE_ERR_PNF = 3                         パスが見つからない
SE_ERR_ACCESSDENIED = 5                アクセスが拒否された
SE_ERR_OOM = 8                         メモリ不足
SE_ERR_DLLNOTFOUND = 32                DLLが見つからない
SE_ERR_SHARE = 26                      オープンしたファイルを共有できない
SE_ERR_ASSOCINCOMPLETE = 27            ファイルの関連付けの情報が不完全である
SE_ERR_DDETIMEOUT = 28                 DDEタイムアウト
SE_ERR_DDEFAIL = 29                    DDEエラー
SE_DDEBUSY = 30                        DDE処理中
SE_NOASSOC = 31                        ファイルの関連付けが使えない
                                       (ファイルが関連付けられていない)
flagsの定数
WPF_RESTORETOMAXIMIZED = &H2           元の状態に戻るときに最大化
WPF_SETMINIPOSITION = &H1              アイコン化するとき、ptMinPositionで位置を指定

nShowの定数
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 と同じ
Structure SHELLEXECUTEINFO
    cbsize As Integer                        構造体のバイト数
    fMask As Integer                         構造体の有効なメンバを指定する定数の組み合わせ
    hWnd As Integer                          親ウィンドウのハンドル
    lpVerB As String                      動作名(ShellExecute()関数のlpOperationと同じ)
    lpFile As String                      ファイル名
                                          (フルパスでないときは、カレントディレクトリを使用する)
    lpParameters As String                アプリケーションに渡すパラメータ
                                          パラメータは空白で区切る
                                          lpFileがドキュメントファイルのときはvbNullString
    lpDirectory As String                 作業ディレクトリ
                                          (指定がないときはカレントディレクトリを使用)
    nShow As Integer                         表示方法を指定する定数
                                          lpFileがドキュメントのときは0
    hInstApp As Integer                      (戻り値)関数の実行結果を受けるバッファ
                                          (正常終了のときは31を超える数値)
    'lpIDList As ITEMIDLIST               ITEMIDLIST構造体
    lpIDList As Integer                      (使わないのでInteger型に変更した)
                                          (fMaskにSEE_MASK_IDLISTを設定していないときは無効)
    lpClass As String                     ファイルクラス名 or GUID
                                          (fMaskにSEE_MASK_CLASSNAMEを設定していないときは無効)
    hkeyClass As Integer                     ファイルクラスのWindowsレジストリキーハンドル
                                          (fMaskにSEE_MASK_CLASSKEYを設定していないときは無効)
    dwHotKey As Integer                      ホットキー
                                          (fMaskにSEE_MASK_HOTKEYを設定していないときは無効)
    hIcon As Integer                         ファイルクラスのアイコン
                                          (fMaskにSEE_MASK_ICONを設定していないときは無効)
    hProcess As Integer                      起動したプロセスのハンドル
                                          (fMaskにSEE_MASK_NOCLOSEPROCESSを設定していないとき、常に0)
End Structure