■ ShellExecute
SYNTAX
HINSTANCE ShellExecute(
HWND hwnd, // 親ウィンドウのハンドル
LPCTSTR lpVerb, // 操作
LPCTSTR lpFile, // 操作するファイル
LPCTSTR lpParameters, // 操作のパラメータ
LPCTSTR lpDirectory, // 既定のディレクトリ
INT nShowCmd // 表示状態
);
Windows で wclk したときと同じことがおきる
REF
http://hp.vector.co.jp/authors/VA024411/vbtips02.html
使いどころは
指定したファイルを「オープン」
他のプログラムを引数付きで起動する
この機能を使うと
インストールプログラムでインストール完了時にドキュメントを自動的に表示する
ランチャーソフトを作る
// lpszFn を開く
ShellExecute(NULL,"open",lpszFn,NULL,NULL,SW_SHOWNORMAL);
// lpszFn をノートパッドで開く
ShellExecute(NULL,NULL,"notepad",lpszFn,NULL,SW_SHOWNORMAL);
■ ShellExecuteEx
SHELLEXECUTEINFO s;
memset( &s, 0, sizeof(SHELLEXECUTEINFO) );
s.cbSize = sizeof(SHELLEXECUTEINFO);
s.fMask = SEE_MASK_NOCLOSEPROCESS;
s.hwnd = HWND_DESKTOP;
s.lpParameters = NULL;
s.lpDirectory = NULL;
s.nShow = SW_SHOWNORMAL;
s.lpFile = L"d:/foo.txt";
ShellExecuteEx( &s );
// Notepad が閉じるのを待つ
WaitForSingleObject( s.hProcess, INFINITE );
■ MyDocument.をえる
{
#include "ShFolder.h"
char s[MAX_PATH];
SHGetFolderPath( NULL, CSIDL_PERSONAL, NULL, 0, s );
}