void CEpgTimerTaskDlg::OnBnClickedButtonS4() { // TODO: ここにコントロール通知ハンドラ コードを追加します。 CSendCtrlCmd cmd; if(cmd.SendChkSuspend() != 1 ){ MessageBox(L"休止に移行できる状態ではありません。\r\n(もうすぐ予約が始まる。または抑制条件のexeが起動している。など)"); }else{ cmd.SendSuspend(0xFF02); } }
LRESULT CEpgTimerTaskDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) { // TODO: ここに特定なコードを追加するか、もしくは基本クラスを呼び出してください。 switch(message){ case WM_TRAY_PUSHICON: { //タスクトレイ関係 switch(LOWORD(lParam)){ case WM_RBUTTONDOWN: { CMenu menu; CPoint point; menu.LoadMenu(IDR_MENU_TRAY); CMenu* pPopup = menu.GetSubMenu(0); GetCursorPos(&point); SetForegroundWindow(); pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, AfxGetMainWnd()); pPopup->DestroyMenu(); } break; default : break ; } } break; case WM_QUERY_SUSPEND: { CQueryWaitDlg cDlg; if( cDlg.DoModal() != IDCANCEL ){ CSendCtrlCmd cmd; cmd.SendSuspend((WORD)wParam); } } break; case WM_QUERY_REBOOT: { CQueryWaitDlg cDlg; cDlg.SetRebootMode(); if( cDlg.DoModal() != IDCANCEL ){ CSendCtrlCmd cmd; cmd.SendReboot(); } } break; default: break; } return CDialogEx::WindowProc(message, wParam, lParam); }