# RenderDoc

每次从renderdoc启动exe再截帧太麻烦，我们希望直接把rd给hook到HEngine中。

需要参考<https://renderdoc.org/docs/in_application_api.html>

注意的是，GetModuleHandleA 方法在没有load这个dll的时候可能会返回false，可以使用LoadLibrary函数将其加载到内存中，然后再使用GetModuleHandleA函数获取其句柄。

头文件可以从GitHub下载：

<https://github.com/baldurk/renderdoc/blob/v1.x/renderdoc/api/app/renderdoc_app.h>

dll需要翻注册表，可以参考：

<https://www.jianshu.com/p/0c322dbb0508><https://github.com/EpicGames/UnrealEngine/blob/407acc04a93f09ecb42c07c98b74fd00cc967100/Engine/Plugins/Developer/RenderDocPlugin/Source/RenderDocPlugin/Private/RenderDocPluginLoader.cpp>

注册表编程可以参考：

<https://learn.microsoft.com/zh-cn/archive/msdn-magazine/2017/may/c-use-modern-c-to-access-the-windows-registry><https://github.com/EpicGames/UnrealEngine/blob/407acc04a93f09ecb42c07c98b74fd00cc967100/Engine/Source/Runtime/Core/Private/Windows/WindowsPlatformMisc.cpp>
