Я знаю, что все собираются на большую мобильную или веб-работу.Ну, я застрял здесь на каком-то старом добром C ++.Вот что меня беспокоит.
Я хочу, чтобы мое приложение делало определенную вещь, когда пользователь нажимает меню «Tile Vertical» в другом приложении (в другом процессе).(Многие приложения имеют меню «Windows», а под ним находится подменю «Tile Vertical»).Я предполагаю, что мне нужно настроить глобальный хук, используя SetWindowsHookEx.Я попытался сделать это с помощью «WH_CALLWNDPROC» и смог подключить только сообщения «в процессе», а не «вне процесса».Я также пробовал WH_GETMESSAGE.Я попытался поймать WM_SIZE, который также не работал вне процесса.На самом деле, даже в процессе, WM_SIZE не работал на всех окнах, только на некоторых из них.
Итак, теперь есть несколько вопросов:
1- Каков правильный тип крючка (WH_CALLWNDPROC или WH_GETMESSAGE или, возможно, один из других типов крючков, которые можно использовать)?
2- Как мне получить его для получения сообщений о процессе?
3- Любые советы, где можно получить образец кода ловушки для WM_MDITILE?
4- Я пытался сделатьхук клавиатуры и это сработало, почему это не работает?
5 - Я использую Win 32 DLL с кодом DllMain ниже.Что-то не так?
HINSTANCE hinst;
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
//
// Capture the application instance of this module to pass to
// hook initialization.
//
if (hinst == NULL)
{
hinst = hModule;
}
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
Любые советы или предложения?
Спасибо