Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 截取VB6按钮点击事件,并绕道_.net_Vb6_Detours - Fatal编程技术网

.net 截取VB6按钮点击事件,并绕道

.net 截取VB6按钮点击事件,并绕道,.net,vb6,detours,.net,Vb6,Detours,我想将自己的DLL注入VB6进程,以覆盖按钮的默认单击行为。目标是调用my方法,并且永远不要在click事件处理程序中调用orig VB6代码 看来微软的迂回API能帮上忙。这些示例向我展示了如何将DLL注入到正在运行的进程中;但我不确定我应该绕开的功能 理想情况下,我希望为Detours API提供一个.Net包装器 任何帮助都将不胜感激。此任务无需绕道,请查看: 此C++/ActiveX解决方案将允许您在VB6中对当前进程之外的窗口进行子类化。我对.NET不太熟悉,但我知道商业解决方案也提供

我想将自己的DLL注入VB6进程,以覆盖按钮的默认单击行为。目标是调用my方法,并且永远不要在click事件处理程序中调用orig VB6代码

看来微软的迂回API能帮上忙。这些示例向我展示了如何将DLL注入到正在运行的进程中;但我不确定我应该绕开的功能

理想情况下,我希望为Detours API提供一个.Net包装器


任何帮助都将不胜感激。

此任务无需绕道,请查看:


此C++/ActiveX解决方案将允许您在VB6中对当前进程之外的窗口进行子类化。我对.NET不太熟悉,但我知道商业解决方案也提供了这一功能。先做作业,可能会有免费的解决方案,如果有,请发回并让我们知道。:)

如果这是一种一次影响所有按钮的方法,那么我认为这将是您要做的原始研究;我不认为其他任何人曾经觉得有必要绕过VB运行时到这种程度。否则,如果它只是一个特定的按钮或表单,那么子类化是一种行之有效的方法

有关高级VB6信息,请访问Karl Peterson的经典VB网站:

该网站上有Bruce McKinney的优秀著作《硬核Visual Basic》:


+1对我来说似乎是一个子类化的例子。或者可能是一个钩子