草庐IT

lifecycle-hooks

全部标签

c++ - 如何在 C/C++ 中 Hook Windows 函数?

如果我有一个Windows已在kernel32.dll中实现的函数foo()并且它总是返回true,我可以让我的程序:“bar.exe”Hook/绕行那个Windows函数和让它为所有进程返回false吗?因此,例如,如果我的svchost调用foo(),它将返回false而不是true。当前正在运行的所有其他进程都应该执行相同的操作。如果是这样,怎么做?我想我正在寻找一个系统范围的钩子(Hook)或其他东西。 最佳答案 看看Detours,非常适合这种东西。对于系统范围的Hook,请阅读thisarticle来自MSDN。首先,创

linux - git中钩子(Hook)的符号链接(symbolic link)

我编写了自己的自定义merge后钩子(Hook),现在我在我的主项目文件夹中添加了一个“钩子(Hook)”目录(因为git不跟踪.git/hooks中的更改),我在某处读到我可以创建一个符号从钩子(Hook)链接到.git/hooks所以我不必每次有人更改文件时都将文件从一个文件夹复制到另一个文件夹,所以我尝试了:ln-s-fhooks/post-merge.git/hooks/post-merge但它似乎不起作用,任何想法为什么?“lnhooks/post-merge.git/hooks/post-merge”工作正常,但我猜制作硬链接(hardlink)与copyin相同....

java - Java中关闭 Hook 的有用示例?

我正在努力确保我的Java应用程序采取合理的步骤来保持稳健,其中一部分涉及正常关闭。我正在阅读shutdownhooks而且我实际上不知道如何在实践中使用它们。有实际的例子吗?假设我有一个像下面这样一个非常简单的应用程序,它将数字写入文件,将10写入一行,分批100个,并且我想确保在程序中断时完成给定的批处理。我知道如何注册一个关闭Hook,但我不知道如何将它集成到我的应用程序中。有什么建议吗?packagecom.example.test.concurrency;importjava.io.File;importjava.io.FileNotFoundException;import

ios - 使用钩子(Hook)在 Instagram 上发布视频

我希望我的应用能够将视频上传到Instagram。InstagramIPhoneHooks提供有关如何使用iphoneHook将照片上传到instagram的信息。我的问题是,除了视频之外,是否有人对如何完成相同的操作有任何经验? 最佳答案 Instagram的API不直接支持从第三方应用程序上传任何内容。因此,在向用户提供功能时,您必须在用户体验方面做出一些糟糕的妥协。首先,准备好要上传到Instagram的视频并将其路径存储在某处其次,将其保存到用户的相机胶卷中:if(UIVideoAtPathIsCompatibleWithS

git pre-commit 钩子(Hook)代码格式化与部分提交?

有没有办法让预提交Hook自动格式化代码(对于使用astyle的示例)但not会破坏部分提交吗?工作流程:#editafile.txtgitadd-pfile.txt#addonechunk,butnotanothergitcommit-m'amessage'[PRE_COMMIT_HOOK]Formattingsourcecodegitstatus#the"another"chunkisstillnotadded我的问题是,如果你在pre-commit钩子(Hook)中执行gitadd,那就是脚本格式化源代码后需要,添加“另一个”block,也。但我不想那样。有没有办法做到这一点?

Git:接收电子邮件后 Hook 以显示 html 格式的颜色差异?

我使用Git的post-receive电子邮件Hook(感谢thisSOpost)发送了一个不同的电子邮件,但它发送的电子邮件只是纯文本。我想要一个更大的、色彩更丰富、格式更好的东西。是否有一个脚本或我可以使用post-receive钩子(Hook)运行的东西,它将发送格式良好的差异电子邮件而不是纯文本电子邮件? 最佳答案 您可以使用语法荧光笔来格式化您的代码,例如Pygments.使用他们的commandline工具它应该很容易将您的输出传输到可以嵌入到电子邮件正文中的html文档中。我想你可以做一些类似this的事情。但用您的自

ruby-on-rails - 这个 gem 如何与您的错误处理 Hook ?

我试图了解gem的工作原理,以及如何创建gem来覆盖或向Rails3应用程序添加附加功能。这是一个错误捕获gem,它通过http将错误发布到服务器。要安装它,您只需添加gem,然后它会使用您的apikey创建一个初始化程序。到目前为止我已经了解了这一部分,但我需要帮助来理解gem的执行以及它如何挂接到rails。我找到的相关文件是:https://github.com/airbrake/airbrake/blob/master/lib/airbrake/rails.rb将方法添加到ActionController的位置类:ifdefined?(ActionController::Bas

c++ - 没有编译器 Hook ,哪些<type_traits>无法实现?

C++11提供了标准的。没有编译器挂钩,它们中的哪一个是不可能实现的?注1:通过编译器挂钩,我指的是任何非标准语言功能,例如__is_builtin...。注2:许多方法可以不使用钩子(Hook)来实现(请参见C++TemplateMetaprogramming的第2章和/或ModernC++Design的第2章)。注3:上一个问题中的spraffanswer引用了N2984,其中某些类型特征包含以下注解:被认为需要编译器支持(感谢sehe)。 最佳答案 我已经写了一个完整的答案here-这项工作仍在进行中,因此即使我将文本剪切并粘

c++ - 没有编译器 Hook ,哪些<type_traits>无法实现?

C++11提供了标准的。没有编译器挂钩,它们中的哪一个是不可能实现的?注1:通过编译器挂钩,我指的是任何非标准语言功能,例如__is_builtin...。注2:许多方法可以不使用钩子(Hook)来实现(请参见C++TemplateMetaprogramming的第2章和/或ModernC++Design的第2章)。注3:上一个问题中的spraffanswer引用了N2984,其中某些类型特征包含以下注解:被认为需要编译器支持(感谢sehe)。 最佳答案 我已经写了一个完整的答案here-这项工作仍在进行中,因此即使我将文本剪切并粘

ruby - Mechanize 前/后连接 Hook

使用Mechanize,我需要找到一些方法将请求限制为每秒1个(或每5秒1个,或每分钟2个,等等,关键是找到某种方法来限制请求速率)。搜索,这似乎是开始解决问题的方法:连接前/后Hook。只有我不完全知道如何处理它们或如何处理,我猜测从我的水平和研究我需要做一个lambda或proc说'嘿等一下',似乎足够基本。我的问题基本上是关于如何执行此操作的示例或其他线索。我尝试了几个lambda(而且我对这到底会做什么了解程度很低):@agent.pre_connect_hooks但这只会将我的请求变成错误:ArgumentError:wrongnumberofarguments(2for0)