外部プログラムの起動



<解説>
 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_DDEBUSYDDE処理がビジー
SE_ERR_DDEFAILDDE処理失敗
SE_ERR_DDETIMEOUTDDE処理タイムアウト
SE_ERR_DLLNOTFOUNDDLLが見つからない
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デフォルト表示