hudhook
0.8.0
Pustaka pengait penyaji Rust untuk membuat overlay Dear ImGui.
Saat ini mendukung DirectX 9, DirectX 11, DirectX 12 dan OpenGL 3. Berjalan di Windows dan Wine/Proton.
Jika Anda menyukai hudhook
dan ingin mendukung proyek ini, Anda dapat melakukannya melalui Patreon saya.
Saya senang proyek ini berhasil untuk Anda dan saya berterima kasih atas dukungan Anda. Terima kasih!
// src/lib.rs
use hudhook :: * ;
pub struct MyRenderLoop ;
impl ImguiRenderLoop for MyRenderLoop {
fn render ( & mut self , ui : & mut imgui :: Ui ) {
ui . window ( "My first render loop" )
. position ( [ 0. , 0. ] , imgui :: Condition :: FirstUseEver )
. size ( [ 320. , 200. ] , imgui :: Condition :: FirstUseEver )
. build ( || {
ui . text ( "Hello, hello!" ) ;
} ) ;
}
}
{
// Use this if hooking into a DirectX 9 application.
use hudhook :: hooks :: dx9 :: ImguiDx9Hooks ;
hudhook ! ( ImguiDx9Hooks , MyRenderLoop ) ;
}
{
// Use this if hooking into a DirectX 11 application.
use hudhook :: hooks :: dx11 :: ImguiDx11Hooks ;
hudhook ! ( ImguiDx11Hooks , MyRenderLoop ) ;
}
{
// Use this if hooking into a DirectX 12 application.
use hudhook :: hooks :: dx12 :: ImguiDx12Hooks ;
hudhook ! ( ImguiDx12Hooks , MyRenderLoop ) ;
}
{
// Use this if hooking into an OpenGL 3 application.
use hudhook :: hooks :: opengl3 :: ImguiOpenGl3Hooks ;
hudhook ! ( ImguiOpenGl3Hooks , MyRenderLoop ) ;
}
// src/main.rs
use hudhook :: inject :: Process ;
fn main ( ) {
let mut cur_exe = std :: env :: current_exe ( ) . unwrap ( ) ;
cur_exe . push ( ".." ) ;
cur_exe . push ( "libmyhook.dll" ) ;
let cur_dll = cur_exe . canonicalize ( ) . unwrap ( ) ;
Process :: by_name ( "MyTargetApplication.exe" ) . unwrap ( ) . inject ( cur_dll ) . unwrap ( ) ;
}