相关疑难解决方法(0)

如何使键盘挂钩跨进程全局

我正在尝试创建一个实用程序按键应用程序,以便我可以执行诸如杀死预编程进程或启动某些内容之类的操作.我想我应该在任何应用程序中持有cmd,然后输入一个4位数的命令键,这样我就可以在编程,调试观看视频等时快速启动或杀死任何内容.

我想出了如何获得键盘回调,但无论出于何种原因,一旦我点击进入另一个应用程序,我的keystroke util就不再接收键.即使我点击回到我的控制台窗口或msvc,我也不会收到任何输入.这是除非它的全局,所以如何设置钩子是全局的?

我的代码是

int main()
{
    hook = SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, GetModuleHandle(0), 0);
    MSG msg;
    while(GetMessage(&msg, NULL, 0, 0) > 0)
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    UnhookWindowsHookEx(hook);
}
Run Code Online (Sandbox Code Playgroud)

api keyboard winapi

4
推荐指数
2
解决办法
2万
查看次数

WH_KEYBOARD(全局)的SetWindowsHookEx不使用Dll?

我正在尝试使我的钩子在一个进程中全局工作,当我将hModdwTID设置为0 时,它对我使用_LL(LowLevel)工作.

有没有办法让它在没有.dll的情况下工作?

delphi setwindowshookex

1
推荐指数
1
解决办法
4316
查看次数

标签 统计

api ×1

delphi ×1

keyboard ×1

setwindowshookex ×1

winapi ×1