お世話になっています。
前回のご教授で無事にランチャのメニュに実行ファイル(アイコンも)を表示すること
ができたのですが、選択した実行ファイルを起動するところでつまずいています。
一応、
int n; //取得した実行ファイルの数
int i;
char filename[100]; //FindFirstFileで得たファイル名
for(i=0;i<n;i++){
AppendMenu(hMenu, MF_OWNERDRAW, i, (LPCTSTR)i);
}
でメニュに実行ファイルを表示しているのですが、この場合の起動のしかたで悩んでま
す。
単純に、ID番号が
AppendMenu( ... , ... ,IDM_EXE, ... );
に固定されたものだと、
#define IDM_EXE 100
.
.
.
case WM_COMMOND:
switch(LOWORD(wParam))
{
case IDM_EXE:
ShellExecute(NULL,open,filename,NULL,NULL,SW_SHOWNORMAL);
return 0;
で無事に起動できるのですが.....
ID番号が1,2,3... ...iまである場合には、どのようにして#defineで定義して、
どのようにして case WM_COMMOND以下で定めればいいのでしょうか。ちょっとよくわか
らないです。
どうかご教授お願いできないでしょうか。よろしくお願いします。
アプリ:ランチャソフト
OS:WIN2000
開発ソフト:VC++6.0
言語:C言語(SDK)のみ
コマンドをdefineで定義する必要はありません。
case WM_COMMOND:
if (wParam < n) {
ShellExecute(NULL,open,filename[wParam],NULL,NULL,SW_SHOWNORMAL);
}
...
dairygoodsさん。ありがとうございます。助かりました。
無事に解決しました。