プログラミングメモ →目次

ShellExecute()関数により外部アプリケーション起動(VC++)

ShellExecute()関数では、指定されたファイルに対して、指定された操作を実行できますので、便利な関数です。

HINSTANCE ShellExecute( 
    HWND hwnd,              // 親ウィンドウのハンドル 
    LPCTSTR lpVerb,         // 操作 
    LPCTSTR lpFile,         // 操作対象のファイル 
    LPCTSTR lpParameters,   // 操作のパラメータ 
    LPCTSTR lpDirectory,    // 既定のディレクトリ 
    INT nShowCmd            // 表示状態 
);
lpVerbは、指定された操作で、下記の表で記述されています。
操作 説明
edit エディタを開きます。lpFile で指定したファイルが文書ファイルではない場合、この関数は失敗します。
explore lpFile パラメータで指定したフォルダを選択して、エクスプローラを起動します。
open lpFile パラメータで指定したファイルを開きます。lpFile パラメータで、文書ファイルまたは実行可能ファイルを指定できます。1 つのフォルダを指定することもできます。
print lpFile パラメータで指定したファイルを印刷します。lpFile パラメータで文書以外のファイルを指定すると、この関数は失敗します。
properties ファイルまたはフォルダのプロパティを表示します。

例1、テキストファイルを開く。

ShellExecute(m_hWnd, "open", "c:\\1.txt", NULL, NULL, SW_SHOWNORMAL);

例2、フォルダを選択してエクスプローラを起動する。

ShellExecute(m_hWnd, "open", "d:\\temp", NULL, NULL, SW_SHOWNORMAL);

例3、URLを指定してIEを起動します。

ShellExecute(NULL, _T("open"), _T("http://www.softist.com/"), NULL, NULL, SW_SHOW);

例3、URLを指定して電子メールを起動します。

ShellExecute(m_hWnd, _T("open"), _T("mailto:name@softist.com"), NULL, NULL, SW_SHOW);