Как я могу перехватить окно переднего плана?
В настоящее время я пытаюсь с
using (Process processTmp = Process.GetCurrentProcess())
{
using (ProcessModule module = processTmp.MainModule)
{
IntPtr hModule = Win32.GetModuleHandle(module.ModuleName);
uint threadid = Win32.GetWindowThreadProcessId(Win32.GetForegroundWindow(), IntPtr.Zero);
//WH_CALLWNDPROC = 4
m_HookId = Win32.SetWindowsHookEx(4, m_HookProcedure, hModule, threadid);
if (m_HookId == IntPtr.Zero)
{
int tmp =
Marshal.GetLastWin32Error();
}
}
}
Но m_HookID всегда IntPtr.Zero с ошибкой 1428 - Невозможно установить нелокальный хук без модуляручка (ERROR_HOOK_NEEDS_HMOD).Похоже, что-то не так с hModule.
Есть предложения?Tnx.