![]() |
eXeL@B —› Программирование —› Добавить в системное меню пункт не совего окна |
Посл.ответ | Сообщение |
|
Создано: 23 мая 2009 07:07 · Личное сообщение · #1 Вопрос в следующем: как перехватить WM_SYSCommand окна, где был клик мыши есть такой код в либе: Code:
Хук - WH_MOUSE Но проблема в том, что в MOUSEHOOKSTRUCTюwHitTestCode не приходит HTCAPTION = 2 может есть другой способ добавления в сисменю? Заранее спс ![]() ![]() |
|
Создано: 23 мая 2009 07:23 · Поправил: 50Hz_220B_1200W · Личное сообщение · #2 Нашел на просторах инета : Код: (cpp) HOOKPROC hkprcSysMsg; static HINSTANCE hinstDLL; static HHOOK hhookSysMsg; hinstDLL = LoadLibrary((LPCTSTR) "c:\windows\sysmsg.dll"); hkprcSysMsg = (HOOKPROC)GetProcAddress(hinstDLL, "SysMessageProc"); hhookSysMsg = SetWindowsHookEx(WH_GETMESSAGE,hkprcSysMsg,hinstDLL,0); Этот хук надо ставить надо на WH_GETMESSAGE, DLL можно и не загружать если в небольшой программке сделать все сегменты FIXED через def-файл, и там не нужно будет вызывать даже MakeProcInstance - всё будет и так работать. как заюзать не знаю. ![]() |
|
Создано: 06 июня 2009 16:51 · Поправил: 50Hz_220B_1200W · Личное сообщение · #3 Хун на WH_CBT Добавляю в системное меню пункт : AppendMenu (HM, MF_STRING, 99, 'MyMenu'); в ДЛЛ: Code:
проблема в том, что на LoWord (WParam) не приходит "99" при выборе моего пункта меню, подскажите плз, где ошибся? ![]() |
|
Создано: 06 июня 2009 19:08 · Личное сообщение · #4 |
![]() |
eXeL@B —› Программирование —› Добавить в системное меню пункт не совего окна |