草庐IT

hook_type

全部标签

c++ - 在 Windows 中检索全局钩子(Hook)链

我需要在Windows中获取全局钩子(Hook)链中的函数列表,并在可能的情况下获取它们对应的应用程序。不过,我不知道如何从全局Hook链中检索信息。据我所知,没有用于执行此操作的WindowsAPI,因此我认为我必须通过解析hook链链接列表来找到它们。问题是我不知道这个链接列表的数据结构和它的开始地址。有谁知道windows是怎么管理它的全局hook链的? 最佳答案 此blogpost中显示了我见过的一种方法.它被thiscode引用(小心缓慢的服务器)。当然是疯狂的东西,不知道这在不同Windows版本之间的移植效果如何。

windows - Groovy 颠覆钩子(Hook)脚本

我想用Groovy编写一些Subversion(SVN)Hook脚本。SVN服务器将在Windows上运行,根据SVN手册:youwouldneedtosupplyaprogramwhosebasenameisthenameofthehookandwhoseextensionisoneofthespecialextensionsrecognizedbyWindowsforexecutableprograms,suchas.exeforprogramsand.batforbatchfiles.除了在本地机器上安装Groovy,设置GROOVYHOMEenvvar,并将%GROOVY_HO

c - Wndproc 和 hook 是否在主线程中?

抱歉我的愚蠢问题,但是主线程中的wndproc和Hook(调用时)?如果是,是否意味着我不能将它们用于构建键盘输入缓冲区? 最佳答案 您的窗口过程(以及任何子类窗口过程、Hook等)在调用CreateWindow的线程中运行(要求同一线程稍后处理消息队列,窗口过程实际运行当您的主消息分发循环调用DispatchMessage时)。不确定“为键盘输入构建缓冲区”是什么意思。 关于c-Wndproc和hook是否在主线程中?,我们在StackOverflow上找到一个类似的问题:

windows - Windows 上的 GNU Emacs : unable to apply init file changes and to type tilde symbol

问题一我正在尝试使用init文件自定义我的Emacs。我找到了我的init文件的正确位置,并尝试在其中编写一些代码来改变Emacs的行为。按照文档示例,我写了下面这行代码(setqfill-column20)然后保存文件。但是当我启动Emacs时,fill-column变量仍默认设置为70。如果我即时修改该变量,Emacs会照常接受新值。我想知道我是否遗漏了有关init文件的内容。我应该明确告诉Emacs加载它吗?我是否应该包含其他代码语句以使其应用更改?问题2要在Emacs中引用你的HOME目录,你必须在路径的开头使用波浪号,例如当你想通过Emacs找到你的init文件位置时,就像这

c# - 从 c# windows 服务应用程序 Hook 窗口事件不起作用

我正在尝试开发一个应用程序,该应用程序将HookWindows事件并在例如发生时通知我。事件窗口已更改。我在.net4.0VS2010中使用Win764为此,我创建了一个窗口服务类型的项目,在其中创建了一个服务安装程序,并使用user32.dll中的SetWinEventHook向事件注册了模板服务项目中的OnStart方法。一切似乎都很好,除了我在传递给SetWinEventHook的回调方法中没有收到任何东西。我的代码如下所示:protectedoverridevoidOnStart(string[]args){workerThread=newThread(OnTimer);wor

React hooks中 useState踩坑-=--异步问题

useState作为最常见的一个hook,在使用中总是会出现各种坑,最明显的就是useState更新异步的问题。比如我们把接口返回的数据,使用useState储存起来,但是当后面去改变这个数据的时候,每次拿到的都是上次的数据,无法实时更新。或者我们在函数内部使用setState,然后立即打印state,打印的结果还是第一次的state的值。比如下面的代码实例。const[data,setData]=useState('111');consthandleTest=()=>{console.log(data)//111setName('222')console.log(name)//111}原因:

windows - 什么检测图片类型的方法比较靠谱 : content-type or MIME-sniffing?

我想检测Windows应用程序中的图像文件格式。图像要么从网络(通过HTTP)下载,要么从本地文件加载。对于检测从Web下载的文件的图像文件格式,哪种方法更可靠?文件扩展名是最明显的方式,但通常不正确或丢失HTTPheadercontent-type是一个很好的候选者(我可以检查图像类型而无需通过HTTPHEAD命令下载它),但有时它设置不正确MIME嗅探(通过WindowsAPIFindMimeFromData命令或通过手动检查文件内容的已知签名)是我知道的最后一种方法,但我从未使用过它,我不确定它是否可靠那么,我应该使用什么? 最佳答案

C++: "error C4430: missing type specifier - int assumed"对于构造函数和析构函数的无效声明

我有这个CResources类声明,我得到这个错误"errorC4430:missingtypespecifier-intassumed"#include#includeconstintR_NUMBER=5;typedefenum{M,}OBJECT_ENUM;typedefenum{FILE_O,}RESOURCE_ENUM;typedefstruct_resourcesMapping{CBufferapiBuffer;intObjectIndex;};classCResources{intrCount;int*resources;public:CResources(int);~CR

c++ - 如何向键盘添加钩子(Hook) (HookProc)

我试图做一个简单的键盘记录测试,但我的程序没有按预期工作,我也不知道为什么。在我的程序中,我有一个低级键盘钩子(Hook)并为其附加了一个简单的过程。该过程只是打开/创建一个文件并写入“HelloWorld”然后关闭。但是它没有创建文件,可能是因为我的过程不正确或者因为我的Hook没有正确建立。代码:#include#include#include#includeusingnamespacestd;LRESULTCALLBACKKeyboardProc(intcode,WPARAMwParam,LPARAMlParam){ofstreammyfile;myfile.open("[PAT

windows - 函数 Hook 实际上是如何工作的? WinAPI, C++

我正在将我的DLL注入(inject)到一个进程中,然后像这样Hook一个函数:(recv)BOOLHookFunction(LPCWSTRmoduleName,LPCSTRfuncName,LPVOIDfuncProxy,unsignedchar*lpBackup){BYTEjmp[6]={0xe9,0x00,0x00,0x00,0x00,0xc3};DWORDfuncAddr=(DWORD)GetProcAddress(GetModuleHandle(moduleName),funcName);DWORDprev;VirtualProtect((LPVOID)funcAddr,6,