草庐IT

pre-commit-hook

全部标签

.net - 键盘钩子(Hook)改变键的行为

我正在创建一个程序,它安装一个键盘钩子(Hook)来捕获所有键并显示一些与它们相关的文本。但是,我遇到了一个障碍,那就是安装Hook时某些键会改变行为。我会考虑发布一个小而完整的测试程序,但现在我只描述问题。此问题出现在Windows764位、.NET4.0中的C#程序中。我认为这些都不重要。我的钩子(Hook)通过SetWindowsHookEx安装自己,然后处理系统中处理的所有键。如果Hook方法只是返回,或者对键进行最少的处理(我将在一秒钟内发布更改行为的内容),键盘将按程序中的预期运行。但是,如果我从User32.dll中调用此函数ToAscii来确定我键盘上的哪个键是OemT

windows - "Spy++ has encountered a problem in the message hook"

我正在深入解决一些WindowsAPI消息传递问题,我发现Spy++不再工作了。它甚至不适用于记事本。在某些情况下,它会显示以下消息:---------------------------MicrosoftSpy++---------------------------Spy++hasencounteredaprobleminthemessagehook.Topreventhangingthesystem,thehookhasbeendisabled,sonofurthermessageswillbelogged.PleaserestartSpy++tore-enablemessage

c - Hook - 热修补

我正在尝试HookWindowsAPI函数FindWindowA()。我成功地使用下面的代码完成了它,而没有对其进行“热修补”:我已经覆盖了函数开头的字节。调用myHook()并在调用FindWindowA()时显示一个消息框。user32.dll启用了热修补,我想在实际函数之前覆盖NOP,而不是覆盖函数本身。但是,当我将热修补设置为TRUE时,下面的代码将不起作用。当FindWindowA()被执行时,它什么都不做。#include#includevoidmyHook(){MessageBoxA(NULL,"Hooked","Hook",MB_ICONINFORMATION);}in

PBFT常见问题:为什么是f+1、2f+1、3f+1?prepare阶段和commit阶段的作用?恶意节点如何作恶?

目录说明1、为什么客户端要收到f+1个执行结果相同的reply才能确认?2、为什么prepare和commit阶段需要2f+1个确认?3、为什么副本总数是3f+1?4、能不能去掉prepare阶段?为什么有prepare阶段?5、能不能去掉commit阶段?为什么有commit阶段?6、视图变换何时提出?怎样开始?过程如何?7、视图切换如何进行?恶意副本有没有可能在视图切换时作恶?8、视图切换后未完成的请求如何继续?说明本文是基于PBFT的原文的讲解:https://pmg.csail.mit.edu/papers/osdi99.pdfPBFT中的每一个消息都包含客户端请求消息的摘要,而请求信

项目git commit时卡主不良代码:husky让Git检查代码规范化工作

看完《前端规范之Git工作流规范(Husky+Commitlint+Lint-staged) 前端规范之Git工作流规范(Husky+Commitlint+Lint-staged)-Yellow_ice-博客园》,再次修改本文团队人一多,提交一多,还是要对备注加以区分,好快速找到变更点。这时候就需要对每次提交,需要输入message,对提交的备注进行规范化处理代码规范落地难:归根结底在于需要工具去强行保证代码必须经过代码开发规范的扫描;低质量代码带入线上应用:最好的方式本地进行commit的时候,最起码需要保证当前代码能够满足团队制定的开发规范,如果不通过,commit都无法成功,这样能够从最

windows - git commit 以 emacs 作为 Windows 下的编辑器

在Windows中使用gitbash,我将core.editor设置为以下内容:c:/program/emacs-24.2/bin/emacs--no-splash-geometry110x58+200+2gitcommit后,一个新的emacs框架将按预期打开。打开的缓冲区以$@作为名称。我无法保存缓冲区并退出emacs。Git提示提交消息是空的。我有一个解决方法,就是将我的core.editor设置为:c:/program/emacs-24.2/bin/emacs--no-splash-geometry110x58+200+2.git/COMMIT_EDITMSG这可行,但有几个缺

c++ - 在 free/malloc、外部内存 Hook 上花费了大量时间?

这部分与编程/调试相关,部分与外部操作系统相关(super用户候选人?),但我还是将其发布在这里,因为如果有人应该知道答案,它就在这里。我正在开发一个程序,突然,一个新的构建(没有重大变化)导致一切都停止了。我对它进行了剖析以查看花费的时间,但%分布是正常的-一切只是花费了更长的时间。使用VerySleepy研究调用堆栈时,我注意到free/malloc/delete/realloc占了95%以上的运行时间。怀疑堆损坏,我回滚了所有更改,但没有任何更改。使用MSVC的探查器,我深入挖掘了调用堆栈,超出了malloc/realloc并且令人惊讶地结束于一个名为Acxtrnal.dll的外

windows - Vista 及更高版本上的系统范围键盘钩子(Hook)

我创建了一个系统范围的键盘HookDLL,它在WindowsXP中已成功运行多年。但是,似乎在某些更高版本的Windows(VistaHomePremium和Windows7,仅举几例)中,该Hook要么根本不起作用,要么仅在安装它的应用程序本地起作用.我在Internet上的几个地方看到它建议在调用SetWindowsHookEx时将WH-KEYBOARD更改为WH-KEYBOARD-LL,但是当我尝试时这似乎没有帮助。除了将Hook类型更改为WH-KEYBOARD-LL之外,还有什么需要更改的吗?(附言:我必须将WH-KEYBOARD-LL定义为13,因为它没有在Delphi中定义

javascript - 使用嵌入式浏览器和 JavaScript 构建 Windows 应用程序 'hooks'

我为客户构建了一个PHP/JavaScript网站。然后他们让我复制它,除了作为一个独立的Mac应用程序。我使用结合了嵌入式Web服务器、PHP和“WebView”的应用程序来完成此操作——WebKitWeb浏览器的Cocoa风格版本,我可以将其嵌入到标准应用程序窗口中。这一切都非常有效-我必须重用10,000多行PHP/JS代码,这节省了几个月的时间,无需在“native”代码中重新实现它。现在他们想要Windows的等价物。我有理由相信我可以让PHP和Web服务器正常工作。而且我知道嵌入基本的IE功能非常容易。但是...在我的Mac设置中,WebView(通过windowScrip

python - 在 Windows 上,如何安装最低级别的全局键盘 Hook ?

我正在Windows上使用python开发自定义街机启动器。我想选择系统和游戏,然后启动模拟器-并需要特定的组合键才能杀死模拟器。在使用随机应用程序进行测试时,我所有的键Hook都可以工作,但是当我实际启动模拟器(例如Nestopia)时,我的键Hook无法触发。我目前正在使用RegisterHotKey,它获取事件而不是热键。任何人都知道如何安装足够低的东西以在Nestopia之前实际获得事件?这是我的代码:importctypesimportwin32confromctypesimportwintypesfromctypesimportbyrefuser32=ctypes.wind