какое сообщение было отправлено после щелчка левой кнопкой мыши на значке в трее контекстного меню (Windows API) - PullRequest
0 голосов
/ 13 июля 2011

У меня есть программа, написанная с использованием DialogBox для инициализации главного окна.

int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nCmdShow )
{
    DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN),hWnd, (DLGPROC)**DlgProc**);
    return 0;
}

и в DlgProc

LRESULT CALLBACK DlgProc(HWND hWndDlg, UINT Msg, WPARAM wParam, LPARAM lParam)
{
    switch (LOWORD(Msg))
    {
        //some code............
        case WM_CLOSE:
            nid.uCallbackMessage=WM_MY_NOTIFY;//自定义的消息名称
        //some code.........
        case WM_MY_NOTIFY:
            //some code here.......
            return TRUE;
        case WM_COMMAND:
            //Cannot receive the tray context menu left click message
            switch (LOWORD (wParam))
            {
            case IDM_TRAY_EXIT:
                SendMessage(hWndDlg,WM_CLOSE,0,0); 
                return TRUE;
            }
            return TRUE;
    }
    return FALSE;
}

Click these menus,nothing happens.

Я хотел щелкнуть по пункту меню и вызвать что-то, как показано на рисунке выше, после того, как я щелкну по пункту 1, появляется всплывающее окно с сообщением.

Итак, мой вопрос: какое сообщение можно получить, щелкнув левой кнопкой мыши значок в контекстном меню в трее?

1 Ответ

1 голос
/ 13 июля 2011

Сообщение должно быть в обратном вызове контекстного меню, показанного

...