2025
01
18
2008
09
02
ダイアログのタスクトレイ常駐化
BOOL CDlg::OnInitDialog(){
// タスクトレイ化
m_stNotifyIcon.cbSize = sizeof(NOTIFYICONDATA);
m_stNotifyIcon.uID = 0;
m_stNotifyIcon.hWnd = m_hWnd;
m_stNotifyIcon.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
m_stNotifyIcon.hIcon = AfxGetApp()->LoadIcon( IDR_MAINFRAME );
m_stNotifyIcon.uCallbackMessage = NIM_TRAYNOTIFY;
_tcscpy_s( m_stNotifyIcon.szTip, _T("タスクトレイアプリのテスト"));
::Shell_NotifyIcon( NIM_ADD, &m_stNotifyIcon );
// タスクトレイ化
}
LRESULT CDlg::OnTrayNotify(WPARAM wParam, LPARAM lParam )
{
// TODO: ここにメッセージ ハンドラ コードを追加します。
switch(lParam) {
case WM_LBUTTONDOWN:
if (::IsIconic(m_hWnd)) {
ShowWindow(SW_SHOWNORMAL);
SetForegroundWindow();
}
else {
ShowWindow(SW_MINIMIZE); // IsIconicで判定するためにはMINIMIZEする
ShowWindow(SW_HIDE);
}
break;
default:
break;
}
return 0;
}
2008/09/02 (Tue.) Trackback() Comment(0) MFC
Comments
Trackback
Trackback for this entry: