Я хочу добавить ловушку в приложение. Я использую SetWindowsHookEx
и могу создать общесистемную ловушку, но я хочу создать ловушку для конкретного приложения. Мне нужно иметь идентификатор потока целевого приложения, чтобы его зацепить. Я знаю заголовок окна, я знаю имя exe, и из них я могу получить дескриптор окна и идентификатор процесса, но как мне получить идентификатор потока? Я видел сообщение о том, как это сделать в c # , но я не вижу, как получить список потоков в c ++.
HWND windowHandle = FindWindow(NULL, _T("SomeOtherApp"));
DWORD processId = GetWindowThreadProcessId(windowHandle, NULL);
DWORD threadId = ??? // How do I get thread id here?
HHOOK hook = ::SetWindowsHookEx( WH_CBT, HookCBTProc, hInst, threadId);
Спасибо, Александр.