我有一個掛鉤或安裝回調的問題。C++鉤子或C#項目的回調
我想運行一個C#項目,但我需要使用匯編程序,所以我創建了一個C++ DLL asm內聯代碼。在那裏我創建了跳轉(Hooks與5x NOP)來鉤住遊戲的一些功能並調用DLL中的函數。
一切都很好,但現在有一個問題:我想在我的C#項目中使用這些鉤子。
所有的一切,我想要的是:
我從我的C#項目啓動DLL。 如果調用C++ dll中的函數(例如onPlayerDrink(std::string kindOfDrink)
),則應該調用C#項目中的函數(例如onPlayerDrinkHook(string kindOfDrink)
)
感謝您的幫助! :)
謝謝!我用你的解決方案在C++ DLL和C#項目之間安裝了'橋'。但是現在我意識到,這不是完整的解決方案:當我的C++ DLL中的extern引擎調用方法時,我需要在C#項目中調用方法...因此,不僅通過這些橋使用C#項目中的函數,我需要以某種方式回調它。你有答案嗎? :) – Alf21
@ Alf21我通常總是有一個C#項目調用本地C++代碼,而不是其他方式,所以我不確定那個,但如果我找到任何東西,那麼我會在這裏更新我的答案。 – ArchbishopOfBanterbury
非常感謝你:)我也搜索了一個解決方案,但在NET中沒有條目:/我想過回調,但那不是我想要的。是否有可能管理一個庫,在調用函數時與彙編程序進行檢查,然後調用C#項目的函數? – Alf21