<解説>
ShellExecute関数を使用することにより、外部プログラムを起動することができます。
この関数はAPIであり、Visual C++そのものの機能ではありません。
【ShellExecuteの書式】
HINSTANCE ShellExecute(HWND hwnd, LPCTSTR lpOperation,
LPCTSTR lpFile, LPCTSTR lpParameters,
LPCTSTR lpDirectory, INT nShowCmd);
・戻り値
正常終了:ハンドル エラー:0〜32
エラーの種類
| 値 | 内容 |
| 0 | メモり不足 |
| ERROR_FILE_NOT_FOUND | ファイルが見つからない |
| ERROR_PATH_NOT_FOUND | パスが見つからない |
| ERROR_BAD_FORMAT | 無効なEXEファイル |
| SE_ERR_ACCESSDENIED | ファイルアクセス拒否 |
| SE_ERR_ASSOCINCOMPLETE | ファイル名が正しくない |
| SE_ERR_DDEBUSY | DDE処理がビジー |
| SE_ERR_DDEFAIL | DDE処理失敗 |
| SE_ERR_DDETIMEOUT | DDE処理タイムアウト |
| SE_ERR_DLLNOTFOUND | DLLが見つからない |
| SE_ERR_FNF | 指定ファイルが見つからない |
| SE_ERR_NOASSOC | 実行ファイルのタイプが正しくない |
| SE_ERR_OOM | メモり不足 |
| SE_ERR_PNF | パスが見つからない |
| SE_ERR_SHARE | 共有違反 |
・引数
hwnd : 親ウィンドウのハンドル。通常は、m_hWnd(CWnd::m_hWnd)を指定する。
lpOperation : lpFileで指定したファイルの処理方法。
"open" ・・・・ ファイルを開く。
"print" ・・・・ ファイルを印刷。
"explore" ・・・・ エクスプローラを起動し、フォルダを開く。
NULL ・・・・ "open"と同じ。
lpFile : 処理対象ファイル。
lpParameters : lpFile起動時のパラメータ。不要の場合は、NULLを指定。
lpDirectory : デフォルトで使用されるディレクトリ。
nShowCmd : 起動したときのウィンドウ状態
nShowCmdの種別
| 指定 | 内容 |
| SW_HIDE | 非表示 |
| SW_SHOW | アクティブ化、カレントサイズ表示 |
| SW_MAXIMIZE | 最大化表示 |
| SW_MININIZE | 非アクティブ最小表示 |
| SW_RESTROE | アクティブ化オリジナル表示 |
| SW_SHOWMAXIMIZED | アクティブ最大化表示 |
| SW_SHOWMINIMIZED | アクティブ最小化表示 |
| SW_SHOWMINNOACTIVE | 非アクティブ最小表示 |
| SW_SHOWNA | 非アクティブ、カレントサイズ表示 |
| SW_SHOWNOACTIVE | 非アクティブ、前回のサイズ位置表示 |
| SW_SHOWNORMAL | アクティブ、ノーマル表示 |
| SW_SHOWDEFAULT | デフォルト表示 |