ランチャメニュに表示されたファイルを実行するには? – プログラミング – Home

ランチャメニュに表示されたファイルを実...
 
通知
すべてクリア

[解決済] ランチャメニュに表示されたファイルを実行するには?


Hot
 Hot
(@Hot)
ゲスト
結合: 23年前
投稿: 6
Topic starter  

お世話になっています。
前回のご教授で無事にランチャのメニュに実行ファイル(アイコンも)を表示すること
ができたのですが、選択した実行ファイルを起動するところでつまずいています。

一応、
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)のみ


引用未解決
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

コマンドをdefineで定義する必要はありません。

case WM_COMMOND:
if (wParam < n) {
ShellExecute(NULL,open,filename[wParam],NULL,NULL,SW_SHOWNORMAL);
}
...


返信引用
Hot
 Hot
(@Hot)
ゲスト
結合: 23年前
投稿: 6
Topic starter  

dairygoodsさん。ありがとうございます。助かりました。
無事に解決しました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました