2011-02-22 87 views
1

我想將我自己的DLL注入到VB6過程中,以覆蓋按鈕的默認點擊行爲。目標是調用我的方法,並且絕不會在click事件處理程序中調用原始VB6代碼。攔截VB6按鈕單擊事件與退路

看來Microsoft Detours API可以提供幫助。這些示例演示瞭如何將我的DLL注入到正在運行的進程中;但我不確定我應該繞行的功能。

Idealy,我會喜歡Detours API的.Net包裝。

任何幫助,將不勝感激。

回答

2

無需使用走彎路這個任務,請上網:Subclass External Programs done for you

這個C++/ActiveX技術解決方案將允許你子類窗口的當前進程外VB6。我對.NET不太熟悉,但我確實知道商業解決方案Desaware SpyWorks for .NET也提供了這種功能。首先做好功課,那裏可能有免費的解決方案,如果是的話,請回復並告訴我們。 :)

+0

+ 1聽起來像是爲了繼承我的情況。或者可能是一個鉤子 – MarkJ 2011-02-23 09:10:36

1

如果它的方式一次影響所有的按鈕,那麼我認爲這將是原創的研究,你要做的;我不認爲其他人曾經覺得有必要繞過VB運行時到這個程度。否則,如果它只是一個特定的按鈕或表單,子類化就是可行的方法。

對於高級VB6信息,請卡爾·彼得森的經典VB網站:

http://vb.mvps.org/samples/

託管在該網站的布魯斯·麥金尼的優秀圖書 「性交的Visual Basic」:

http://vb.mvps.org/hcvb.asp