草庐IT

mercurial-hook

全部标签

windows - 使用 GetSaveFileName。我指定了 OFN_EXPLORER 标志,但总是得到旧的对话框外观,除非我避免同时使用 Hook 和模板

使用GetSaveFileName。我指定了OFN_EXPLORER标志,但我总是得到旧的对话框外观,除非我避免同时使用Hook和模板。(OPENFILENAME结构中的lpfnHook和lpfnTemplate(以及它们各自的“启用”标志))如果我避免只使用一个或另一个,我仍然会得到旧的对话框外观。我也没有尝试使用模板,但使用了钩子(Hook)......但总是从它返回TRUE(我看到提到从钩子(Hook)中“总是返回false”作为获取旧接口(interface)的一种方式)。不过,它似乎没有任何效果。编辑:添加相关代码:ofn.lStructSize=sizeof(OPENFIL

c - 监控低级 Hook [C]

有没有什么方法可以监控Windows环境中的低级键盘Hook。假设我正在制作一个试图找到键盘记录器的程序。 最佳答案 >没有官方API可以查询已安装的键盘钩子(Hook)。是的,有。(你还太小,不知道这个……)您必须阅读PEB。参见Win32apiGroup所有Windows源代码(每个api,未记录或未记录)都已被反汇编 关于c-监控低级Hook[C],我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com

python - 让 TortoiseHg 使用单独的 Mercurial 包

我已经将Mercurial安装为Python包。现在我想让TortoiseHg和他们一起工作。但是,所有版本的TortoiseHg都捆绑了自己版本的hg和Python库。我如何确保TortoiseHg使用的是我安装的Mercurial? 最佳答案 I'mextendingMercurialandwanttotestifitworkswithTortoiseHgcorrectly最好测试与官方Mercurial二进制文件和TortoiseHg的兼容性。它们的组织方式相同。即,所有Python二进制文件都存储在library.zip中因

Windows Mercurial 全局钥匙串(keychain)

我正在尝试让Mercurial在Windows构建服务器上工作,但遇到了问题。我不厌其烦地设置了mercurialkeychain(我必须安装tortoisehg),它在每个用户的基础上工作。问题是我使用Bamboo来运行构建,它作为SYSTEM拥有的NT服务运行。因此,每当它尝试对hg做任何事情时,都会提示输入密码。显然,我可以将密码放入配置文件中,但我想避免随意使用明文密码。据我所知,有两种方法可以解决这个问题。我都不知道该怎么做:使mercurialkeychain全局化,而不是针对每个用户。这甚至可能是不可能的。以某种方式以SYSTEM用户身份登录并使用它执行一些mercuri

c++ - winapi - Hook 应用程序的任务栏选项卡事件

当用户左键/右键单击应用程序的tackbar选项卡时,我无法挂接发送的事件消息。我已经尝试实现OnNcLButtonDown等,但是当我点击应用程序的选项卡时,没有触发任何事件。是否有可能的COM解决方案? 最佳答案 有一条未记录的Windows消息:代码0x0313,当用户右键单击应用程序的任务栏按钮时发送。不知道它是否稳定Hook。 关于c++-winapi-Hook应用程序的任务栏选项卡事件,我们在StackOverflow上找到一个类似的问题: htt

windows - 用于保护驱动程序的注册表访问 Hook

我正在为WindowsNT编写驱动程序,为用户空间应用程序提供Ring-0访问。我想制作一个具有专有权的实用程序来执行任何用户的命令,这些命令将受到保护免受任何外部有害影响。上网发现需要hook一些native内核函数,比如NtOpenProcess、NtTerminateProcess、NtDublicateObject等,我已经制作了一个保护应用程序的工作驱动程序,但后来我意识到最好也防止它从外部尝试删除驱动程序或在操作系统启动期间禁止其加载,如防火墙。我将任务分为两部分:防止从\system32\drivers\中物理删除驱动程序,并防止更改/删除负责加载驱动程序的注册表项(HK

windows - SSDT 注册表 Hook

我是内核编程和驱动程序概念方面的新开发人员。我需要Hookssdt以保护注册表的某些键值,但我找不到任何有用的教程或简单的源代码来处理这些东西。我发现zwopenkey和zwcreatkey应该被Hook,并且它们的权限更改为只读。我正在寻找SSDT注册表Hook的一些示例。 最佳答案 你不需要HookSSDT,你不应该这样做。还有其他方法可以保护您的key。例如,许多解决方案之一是使用registrycallbacks. 关于windows-SSDT注册表Hook,我们在StackOv

windows - 在 Windows 上升级到 Mercurial 更高版本 : Cannot clone a repo: get abort message because cannot find web. cacerts

这是在Windows7上。我之前安装了Mercurial2.3.2并有一些存储库并将它们推送到我的Bitbucket帐户,进行了一些编辑然后提交等。所有这些都运行良好。最近我卸载了Mercurial2.3.2并安装了2.6.2。然后我尝试将我的一个Bitbucket存储库克隆到我机器上的一个目录中,以便在上面工作。使用的命令是:Mercurial克隆https://bitbucket.org/vasudevram/xtopdf(我也尝试在上面的命令中用http替换https。)命令的两个版本均无效。错误信息是:中止:找不到web.cacerts:C:\ProgramFiles\Merc

c++ - 从 32 位应用程序 Hook 64 位进程

我正在使用SetWindowHookEx将DLL加载到另一个进程中,但我需要能够挂接到32位和64位进程。我想我需要两个单独的DLL,但是我可以在不创建两个版本的“启动器”应用程序的情况下做到这一点吗?我需要将DLL句柄传递给SetWindowsHookEx,但我无法使用LoadLibrary获取它。 最佳答案 使用进程外COM+对象承载DLL。您可以使用此方法从32位调用64位代码,这样大多数启动器代码都保持不变,除了您决定加载32位或64位COM+对象的if语句。可以对该对象进行编码以将适当版本的DLL加载到进程中,一个用于64

windows - 如何在 Windows git hooks 中使用 cygwin 路径?

(一)我的.git/hooks/pre-commit是#!c:/cygwin/bin/bash.exe#/cygdrive/c/tmp/a.sh当我运行'gitcommit'时出现错误.git/hooks/pre-commit:line8:/cygdrive/c/tmp/a.sh:Nosuchfileordirectory(B)如果.git/hooks/pre-commit是#!c:/cygwin/bin/bash.exe#c:/cygwin/bin/bash.exe/cygdrive/c/tmp/a.sh错误变为/usr/bin/bash:C:/ProgramFiles(x86)/G