1
有一個賽車遊戲,我需要收集遙測和統計。並添加額外的HUDDetours捕捉紋理
我編譯了Detours。並且可以使鉤子更改應用程序窗口的名稱。Like:
LRESULT (WINAPI * TrueSendMessageW)(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) = SendMessageW;
__declspec(dllexport) LRESULT WINAPI MySendMessageW(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{
if (Msg == WM_SETTEXT)
return TrueSendMessageW(hWnd, Msg, wParam, (LPARAM)L"new name window");
return TrueSendMessageW(hWnd, Msg, wParam, lParam);
}
...
然後用withdll.exe運行它。一切都好。
但我不知道如何截取direct3d。在API監視器的幫助下,我發現該程序使用Microsoft.Xna.Framework.Graphics.dll IDirect3DDevice9 :: SetTexture
有人可以告訴如何獲得此紋理?一般來說,我想得到類似link
所以你有一個SendMessage的繞道,但你真正需要的是繞行Direct3D API流。有趣的是,你提出了Matthew Fischer的鏈接,因爲我實際上是試圖在託管的C#中重新創建該項目。我無法幫助您使用C++,但絕對可以下載Fischer的源代碼。你會注意到他沒有使用Detours來攔截Diret3D。他只是把他自己的* d3d9.dll(閱讀爲什麼這個作品)。他必須重新創建他的包裝的大部分界面,但它的工作原理。 – Jason