使所有的调用Direct3DCreate9接口时都调用我自己的函数。
IDirect3D9 * WINAPI Direct3DCreate9(UINT SDKVersion);
4 个解决方案
#1
我写了程序hook,可是Direct3DCreate9函数在EXE之时就被调用了,
我的钩子DLL这时还没被加栽EXE中
所以没有替换掉Direct3DCreate9函数,该怎么弄呢,
我的钩子DLL是
SetWindowsHookEx(WH_CBT,hookproc,hinstance,NULL)使用的
具体钩住的情况是:如果被钩的EXE先创建窗口,则Direct3DCreate9
被替换,如果是先调用Direct3DCreate9再创建窗口,则每钩到。
我的钩子DLL这时还没被加栽EXE中
所以没有替换掉Direct3DCreate9函数,该怎么弄呢,
我的钩子DLL是
SetWindowsHookEx(WH_CBT,hookproc,hinstance,NULL)使用的
具体钩住的情况是:如果被钩的EXE先创建窗口,则Direct3DCreate9
被替换,如果是先调用Direct3DCreate9再创建窗口,则每钩到。
#2
我写了程序hook,可是Direct3DCreate9函数在EXE之时就被调用了,
我的钩子DLL这时还没被加栽EXE中
所以没有替换掉Direct3DCreate9函数,该怎么弄呢,
我的钩子DLL是
SetWindowsHookEx(WH_CBT,hookproc,hinstance,NULL)使用的
具体钩住的情况是:如果被钩的EXE先创建窗口,则Direct3DCreate9
被替换,如果是先调用Direct3DCreate9再创建窗口,则每钩到。
我的钩子DLL这时还没被加栽EXE中
所以没有替换掉Direct3DCreate9函数,该怎么弄呢,
我的钩子DLL是
SetWindowsHookEx(WH_CBT,hookproc,hinstance,NULL)使用的
具体钩住的情况是:如果被钩的EXE先创建窗口,则Direct3DCreate9
被替换,如果是先调用Direct3DCreate9再创建窗口,则每钩到。
#3
呵呵,这个问题,是由于WH_CBT钩子的原因,你仔细看看WH_CBT的说明就会明白了。
你可以测试,dx带的d3d例子是在窗体前就调用Direct3DCreate9函数,所以此时你的钩子还没有触发,所以输入表还未修改,当然就钩不到了
你可以测试,dx带的d3d例子是在窗体前就调用Direct3DCreate9函数,所以此时你的钩子还没有触发,所以输入表还未修改,当然就钩不到了
#4
最近刚好也在做这个功能,可以交流下,呵呵
#1
我写了程序hook,可是Direct3DCreate9函数在EXE之时就被调用了,
我的钩子DLL这时还没被加栽EXE中
所以没有替换掉Direct3DCreate9函数,该怎么弄呢,
我的钩子DLL是
SetWindowsHookEx(WH_CBT,hookproc,hinstance,NULL)使用的
具体钩住的情况是:如果被钩的EXE先创建窗口,则Direct3DCreate9
被替换,如果是先调用Direct3DCreate9再创建窗口,则每钩到。
我的钩子DLL这时还没被加栽EXE中
所以没有替换掉Direct3DCreate9函数,该怎么弄呢,
我的钩子DLL是
SetWindowsHookEx(WH_CBT,hookproc,hinstance,NULL)使用的
具体钩住的情况是:如果被钩的EXE先创建窗口,则Direct3DCreate9
被替换,如果是先调用Direct3DCreate9再创建窗口,则每钩到。
#2
我写了程序hook,可是Direct3DCreate9函数在EXE之时就被调用了,
我的钩子DLL这时还没被加栽EXE中
所以没有替换掉Direct3DCreate9函数,该怎么弄呢,
我的钩子DLL是
SetWindowsHookEx(WH_CBT,hookproc,hinstance,NULL)使用的
具体钩住的情况是:如果被钩的EXE先创建窗口,则Direct3DCreate9
被替换,如果是先调用Direct3DCreate9再创建窗口,则每钩到。
我的钩子DLL这时还没被加栽EXE中
所以没有替换掉Direct3DCreate9函数,该怎么弄呢,
我的钩子DLL是
SetWindowsHookEx(WH_CBT,hookproc,hinstance,NULL)使用的
具体钩住的情况是:如果被钩的EXE先创建窗口,则Direct3DCreate9
被替换,如果是先调用Direct3DCreate9再创建窗口,则每钩到。
#3
呵呵,这个问题,是由于WH_CBT钩子的原因,你仔细看看WH_CBT的说明就会明白了。
你可以测试,dx带的d3d例子是在窗体前就调用Direct3DCreate9函数,所以此时你的钩子还没有触发,所以输入表还未修改,当然就钩不到了
你可以测试,dx带的d3d例子是在窗体前就调用Direct3DCreate9函数,所以此时你的钩子还没有触发,所以输入表还未修改,当然就钩不到了
#4
最近刚好也在做这个功能,可以交流下,呵呵