Detours库的问题!救救孩子吧

    pSwapChainVT = reinterpret_cast<DWORD_PTR*>(pSwapChain);//拿到虚表指针
    printf("pSwapChainVT=%p\n", pSwapChainVT);
    pSwapChainVT = reinterpret_cast<DWORD_PTR*>(pSwapChainVT[0]);//拿对象
    printf("pSwapChainVT=%p\n", pSwapChainVT);
    phookD3D11Present = reinterpret_cast<tD3D11Present>(pSwapChainVT[8]);//拿到这个方法东西 就是Present
    printf("phookD3D11Present=%p\n", phookD3D11Present);


//     //-------------detours Hook------------------------
    DetourRestoreAfterWith();//避免重复HOOK
    DetourTransactionBegin();//开始HOOK
    DetourUpdateThread(GetCurrentThread());//更新到当前线程
    DetourAttach(reinterpret_cast<PVOID*>(&phookD3D11Present), hookD3D11Present);//你要HOOK的函数的函数的地址,以及你自定义的函数的函数地址.
    DetourTransactionCommit();//提交HOOK 到此为止 HOOK完成

不知道为什么 就是不执行hookD3D11Present函数 前面的都正常 但是运行到DetourAttach这行时 不会进入到自己定义的hookD3D11Present函数里面

注意区分32位/64位?

关闭UAC,防火墙,杀毒软件,……
以管理员身份运行
……

以及解决了 写的hook DX11的函数 TMD开了DX9的程序测试 直接原地去世 卡了一个晚上