user32.dll代理重定向本地程序或user32.dll链接问题

时间:2011-12-08 11:35:51

标签: c++ windows dll redirect proxy

我已经为user32.dll创建了一个代理,用于替换lpCaption,文本为“MessageBoxA”,“MessageBoxW”代替MessageBoxA和MessageBoxW,正如您可能已经猜到的那样。 我使用来自here的wrappit.cpp来生成初始代码,在进行修改之后,使用以下代码编译它:
cl user32.cpp /link /dll /def:user32.def /out:user32.dll
它编译得很好,但是我写的小MessageBox测试程序没有显示修改后的标题,就像程序使用dll重定向一样。测试程序通过MessageBoxA函数显示MessageBox。我尝试用以下方法编译测试程序:
cl testWin.cpp和:cl /MD testWin.cpp 我的猜测是我可能没有链接到user32.dll,如果是这样,那么我的问题是“我连接测试程序的方式有问题吗?” 如果我正确链接,我不确定我是谁,那么我的问题是“为什么dll重定向不会发生?” 我读过的关于Windows上DLL / COM重定向的msdn文章建议在同一目录中创建一个名为“testWin.exe.local”的空文件,但这似乎不会影响结果。

如果我能提供可能对您有所帮助的任何其他信息,请与我联系。
我上传了我的项目here
存档只包含源文件,没有二进制文件。

0 个答案:

没有答案