Иконка в System Tray. Одинарный и двойной клик мышкой.
Т.е. у меня стоят обработчики на одинарный и двойной клик мышки. При любом виде клика всегда срабатывает обработчик
одинарного клика...
Есть ли возможность обрабатывать одинарный и двойной клик левой клавишей мышки на иконке в System Tray?
Т.е. у меня стоят обработчики на одинарный и двойной клик мышки. При любом виде клика всегда срабатывает обработчик
одинарного клика...
С моего курсача по си:)
//Процедура добав. удал иконки
void ChangeTIcon(HWND hwnd,HICON IconHandle,
UINT CallbackMessage,DWORD Message)
{
TCHAR sz[64];
NOTIFYICONDATA nid;
nid.cbSize=sizeof(nid);
nid.hIcon=IconHandle;
nid.hWnd=hwnd;
strcpy(nid.szTip,"Hook testing");
nid.uCallbackMessage=CallbackMessage;
nid.uFlags=NIF_MESSAGE | NIF_ICON | NIF_TIP;
nid.uID=1;
if(!Shell_NotifyIcon(Message,&nid))
MessageBox(Dlg,
TEXT("Error input(output) icon to(from) traybar!"),
TEXT("Error"),MB_OK | MB_ICONERROR);
}
//------------------------------------------------
Вот ее вызов на добавление:
....
ChangeTIcon(Dlg,hIcon,TRAYMESSAGE,NIM_ADD);
...
где - #define TRAYMESSAGE WM_USER+30
-----------
вот обработка сообщения TRAYMESSAGE
case TRAYMESSAGE:
//двойной щелчек
if(lParam==WM_LBUTTONDBLCLK){
ShowWindow(hDlg,SW_RESTORE);//отображаем диалог
ChangeTIcon(hDlg,hIcon,TRAYMESSAGE,NIM_DELETE);
}
Вот и вся обработка