Как попасть в TrackPopupMenu?
От: xlich  
Дата: 28.08.12 12:00
Оценка:
Есть приложение без окна — в смысле невидимое. По правой кнопке на иконке в трее выезжает меню. Все работает. Понадобилось сделать автозапуск при перезагрузке компьютера, а нажать меню не могу! Поиск в ветке дал направление на копание, но где-то косяк — думаю, у меня. Вот код:


switch(msg)
    {
     case WM_NOTIFYICONMSG:
       switch(lParam)
        {
        case WM_RBUTTONUP:
          GetCursorPos(&pt);
          SetForegroundWindow(hwnd);
          switch(TrackPopupMenu(hPopup,TPM_RETURNCMD|TPM_LEFTBUTTON,pt.x,pt.y,0,hwnd,NULL))
            {
            .....
            case IDM_START:
            .....


До case IDM_START: не могу достучаться! Где в Send/PostMessage вставить это IDM_START? Строка типа

PostMessage(hWnd,WM_NOTIFYICONMSG,(WPARAM)IDM_START,(LPARAM)WM_RBUTTONUP);

работает только до switch(TrackPopupMenu, т.е. меню открывается и ждет нажатия! Это можно вылечить? Тут предлагалось узнать идентификатор нужного пункта через SPY, так он совпадает с записанным в resource.h, а что потом, как и куда его послать?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.