掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
タスクトレイアイコンクリック時のメニューを表示したときのメモリ使用量について (ID:71534)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
いつもお世話になっております。 Windows XP SP2 + VS 2008 Team System でAPIでアプリケーションを開発して います。 タスクトレイアイコンを左クリックしたときに、メニューを表示させるとき、 WinProc内で、WM_LBUTTONUP メッセージを受け取ったときに下記のような関数 を実行させてメニューを表示させています(一部はしょっています)。 (メニューはリソースに登録しています[IDR_MENU]) int MakeTrayMenu(HWND hWnd) { HMENU l_hMenu, l_hSubMenu; POINT l_pt; MENUITEMINFO mii WCHAR l_Caption[256]; SETTINGSINFO l_CurrentSettings; mii.cbSize = sizeof(MENUITEMINFO); //メニューのハンドルを取得 l_hMenu = LoadMenu(hInst, MAKEINTRESOURCE(IDR_MENU)); //サブメニューのハンドルを取得 l_hSubMenu = GetSubMenu(l_hMenu, 0); mii.fMask = MIIM_STRING; wsprintf(l_Caption, L"設定"); mii.dwTypeData = l_Caption; SetMenuItemInfo(l_hSubMenu, 0, TRUE, &mii); wsprintf(l_Caption, L"終了"); mii.dwTypeData = l_Caption; SetMenuItemInfo(l_hSubMenu, 1, TRUE, &mii); //マウスカーソルの位置を取得 GetCursorPos(&l_pt); SetForegroundWindow(hWnd); TrackPopupMenu(l_hSubMenu, TPM_BOTTOMALIGN, l_pt.x, l_pt.y, 0, hWnd, NULL); DestroyMenu(l_hMenu); return 0; } タスクマネージャでメモリの使用量を確認したところ、初めてメニューを表示 させたときに、一気に4MBほど増加し、メニューを消してもそのままの数値を 維持した状態になりました(メニューを再表示しても増加は基本的にありませ ん)。 これは、そう言うものなのでしょうか? それとも、メニューを消した後に、その領域を開放しなければならないのに、 その処理が含まれていないからこのようになっているのでしょうか? 同じような作りでいくつかアプリケーションを作っているのですが、すべて 同じような増え方をします。 メニュー表示のさせ方に何か問題があるのかと思い、気になって書き込みしま した。 何か情報をお持ちの方がいらっしゃいましたら、ご教授願います。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.