首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SetWindowsHookEx对SetWinHookEventEx

SetWindowsHookEx对SetWinHookEventEx
EN

Stack Overflow用户
提问于 2014-02-25 20:35:26
回答 2查看 2K关注 0票数 6

SetWindowsHookEx和SetWinEventHook之间的主要区别是什么(它是如何工作/依赖/目的/最小需求)?

我对使用C#/..Net从windows服务中拦截与运行Windows应用程序相关的事件感兴趣。

EN

回答 2

Stack Overflow用户

发布于 2014-02-25 20:55:37

SetWindowsHookEx设置低级钩子,可以拦截和重写多个系统范围内的事件和消息(比如捕获和重写键盘输入)。

SetWinEventHook允许您在没有窗口的情况下侦听窗口事件。这是更高的层次和较少的侵扰系统。

在从服务运行其他应用程序时,这两种方法都不需要。看看System.Diagnostics.Process (内置于.Net)或RunProcess on NuGet

票数 8
EN

Stack Overflow用户

发布于 2014-02-25 21:11:14

如果我正确理解了您的意思,您希望使用您创建的服务来拦截在操作系统和运行Windows应用程序之间流动的消息。

如果是这样,您最好的选择是SetWindowsHookEx,这将创建一个系统级别的挂钩,您将不得不过滤传递给其他应用程序。您应该注意,这要求您还需要构建c++ .dll文件,您可以从该文件调用SetWindowsHookEx函数。在编写代码时要非常小心,因为错误会锁定整个系统,您需要重新启动才能使事情恢复正常。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22025592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档