标签: hook

什么是PHP的钩子?

我试图在Google上搜索,但找不到任何好的教程或文章.

php hook

17
推荐指数
3
解决办法
4万
查看次数

如何连接Youtube视频(Flash Player?)以减慢播放速度?

我所知道的唯一一款可以在任何浏览器中减速和加速播放YouTube视频的好软件,无需先下载(因为这很麻烦),是Enounce MySpeed.

不幸的是,这个软件不是免费的,我的试用版用完了.我正在玩它的注册表设置并注意到几个键:

ProgramsToHook: iexplore.exe;firefox.exe;plugin-container.exe;chrome.exe;safari.exe;opera.exe;maxthon.exe;feeddemon.exe;realplay.exe;flvplayer.exe;flv player.exe;flock.exe;adobe media player.exe
UseFlashAdapter: 1
LLModules: ole32.dll;nspr4.dll;chrome.exe;realplay.exe;objb3201.dll;oleaut32.dll;rpflashplayer.dll
ModulesToIntercept: flash10*;flash9*;npswf32.dll;gcswf32.dll;fldbg10*;flashplayer.3.1.1k.ocx;adobe media player.exe
Run Code Online (Sandbox Code Playgroud)

根据这些注册表项的名称和值,我猜测MySpeed软件会挂钩列出的模块中的一些函数(但模块是否与DLL相同?)并且每个进程都这样做在ProgramsToHook中列出.这是我不明白的.MySpeed软件的概念是什么?显然这是挂钩的东西,但我不太熟悉Windows钩子的错综复杂,所以我来问你专家.我想如果我能理解这个钩子进程是如何工作的,我可以使用EasyHook制作我自己的软件版本,这是一个非常棒的.NET库来执行用户模式和内核模式钩子.

我认为Windows用户模式挂钩就是这样的.您在一个DLL中选择一个函数,并在一个您想要的进程中截取该函数(也称为钩子).如果要在多个进程中挂钩DLL,则只需为每个进程重复该过程.

然后内核模式挂钩只是在一个DLL中选择一个函数并在每个调用它的进程中拦截该函数(因此是内核模式).但肯定有很多方法可以勾选; 我不太确定这两个钩子和DLL注入之间的区别.

所以重点是,我想知道MySpeed是如何工作的.他们的挂钩概念是什么?如果我能知道这一点,那么我可以用.NET制作这样的软件!

提前致谢.

c# windows flash dll hook

16
推荐指数
1
解决办法
3778
查看次数

WPF用什么来捕获鼠标和键盘输入?

我全局(系统范围)使用SetWindowsHookEx和过滤某些鼠标点击WH_MOUSE_LL.问题是它不适用于WPF应用程序(所有WPF应用程序都检测鼠标点击,无论我是否指示系统忽略这些点击).我已经在这里问了一个类似的问题,但我假设WPF使用DirectInput而不是标准的Windows消息来检测输入.但是呢?

我已经能够找到一个能够使用鼠标点击进入WPF应用程序SendMessage的代码.如果这是可能的,那么我认为它意味着WPF不DirectInput用于鼠标输入.但是,为什么不能阻止WPF应用程序检测鼠标点击SetWindowsHookEx

虽然这个问题主要是关于鼠标输入,但我也想知道它对于键盘输入是如何工作的.

我已经快速创建了以下解决方案来重现奇怪的WPF行为.它由3个项目组成:

  • HookTester
    StartUp项目,自动启动其他2个项目,所以你应该主要关注这一个.启动时安装鼠标挂钩,并在关闭表单时卸载挂钩.

  • WinFormsTest
    包含一个带有默认上下文菜单的TextBox,您可以在其中测试鼠标右键.当HookTester运行时,您不能使用鼠标右键调用上下文菜单.

  • WpfTest也
    包含一个TextBox,带有自定义上下文菜单(虽然我也可以使用默认菜单),所以这又是测试鼠标右键的地方.只要HookTester正在运行,您就无法调用上下文菜单(使用鼠标右键),但出于某种原因,菜单仍将显示(Why ???).

警告:当您运行解决方案时,HookTester项目将启动并立即安装挂钩以拒绝任何右键鼠标点击(系统范围内).只需关闭HookTester表单即可轻松卸载挂钩.谨慎测试.

下载SO5036143.ZIP: 镜子1,镜子2

.net wpf hook input mouse-hook

16
推荐指数
1
解决办法
4086
查看次数

合并冲突的Git钩子

有没有我可以用于合并冲突的git钩子?失败之后git merge,能够编写一个打开所有冲突文件的脚本会很棒$EDITOR.不幸的是,post-merge如果存在冲突,钩子不会运行,并且从我在githooks手册页中看到的,没有其他适用的钩子.

我想知道我是否错过了某些东西,或者是否有其他替代方案没有将'git merge'混淆到一个函数或类似的东西.

谢谢,克里斯

git hook githooks

16
推荐指数
1
解决办法
1725
查看次数

创建版本上的github错误:无法创建标记,预接收挂钩失败

我绝不是一个复杂的github用户.我已经学习了将项目代码添加,提交和推送到公共github.com存储库所需的最少的一些命令.到目前为止它一直运作良好......直到今天我试图创建一个新版本(我的第三个).

出于某种原因,当我尝试发布我的新版本时,我收到了消息

无法创建标记.预接收挂钩失败.

我以前从未见过这个消息.

我尝试了各种不同的标签名称; 我已经尝试退出并再次进入; 我已尝试在我的本地磁盘副本上预先标记; 我已经推拉(两端都是最新的).这关于耗尽我的所有东西尝试:-(

作为一个亲戚n00b我发现这个消息非常不透明(叹气).我已经尝试使用谷歌搜索,但很快就进入了我的脑海 - 我发现的大多数点击是关于人们建立自己的网络回购和安装或调整他们自己的自定义"预接收挂钩"的讨论,而我只是github.com的一个愚蠢的用户显然正在努力解决他们安装的任何"预接收挂钩"(?).如果有人能够至少指出我正确的方向,我将非常感激.

hook release github

16
推荐指数
2
解决办法
3255
查看次数

我承诺颠覆时可以运行脚本吗?

我想运行一个脚本来为我的php项目构建文档.它基本上只是使用wget来运行phpdoc.

svn hook phpdoc

15
推荐指数
2
解决办法
1万
查看次数

拦截笔记本电脑上的Fn键

有时当我在Thinkpads/MSI笔记本电脑上工作时,CtrlFn键被交换(Fn是最左边的键),它让我疯狂 - 我一直在打,Fn而不是Ctrl.

我想知道是否可以截取Fn密钥.我想写一个交换 Ctrl/Fn 密钥的钩子,但似乎Fn根本没有被操作系统处理.

有任何想法吗?

language-agnostic keyboard hook keyboard-hook

15
推荐指数
2
解决办法
1万
查看次数

是否有Subversion Checkout Hook或类似的东西?

我正在使用一个subversion存储库,我想知道每当有人要求我的存储库进行结账时; 比如'svn co'或'svn up'.是否有人可以使用钩子或其他方法,以便每当有人从我的svn服务器请求信息时运行脚本或发送电子邮件?如何在不依赖apache日志的情况下实现这一目标?

BTW它是一个非常简单的存储库,仅用于教育目的.

(如果您需要更多信息,请提出.先谢谢.)

svn hook svn-hooks svn-checkout

15
推荐指数
2
解决办法
9511
查看次数

使用JavaScript刮擦/窃听AJAX数据?

是否可以使用JavaScript来清除对使用AJAX进行实时更新的网页的所有更改?我希望每秒使用AJAX抓取更新数据的网站,我想抓住所有的变化.这是一个拍卖网站,只要用户出价,就可以更改多个对象.出价时,进行以下更改:

当前买入价当前高出价者拍卖定时器已将时间添加回其中

我希望使用基于JavaScript构建的Chrome扩展程序获取此数据.是否有JavaScript的AJAX监听器可以实现这一目标?工具包?我需要一些方向.JavaScript可以实现这个吗?

javascript ajax hook google-chrome-extension scrape

15
推荐指数
1
解决办法
6520
查看次数

如何在git add之前自动调用脚本?

这是我的用例:我在我的Git仓库中提交了PNG和其他东西.我想对我想要提交的每个PNG应用一个特定的进程,这是我最终想要提交的进程的结果(可能修改的PNG).

一开始我想到了一个钩子(比如a pre-commit),但它有点奇怪,因为这个过程会改变文件,所以我需要重新添加它!根据我所读到的,没有pre-add钩子(或类似的东西).

可能是一个解决方案是创建一个git别名?但我不想改变 - 太多 - 人们的工作方式,我正在寻找一种平稳透明的方式.

如果你有线索......即使线索是改变我的过程想法.

git hook gitattributes

15
推荐指数
2
解决办法
8159
查看次数