refactor gui module

This commit is contained in:
2025-04-17 20:52:19 +01:00
parent b71dbbdf03
commit d992d6b8f6
6 changed files with 479 additions and 467 deletions
+11 -14
View File
@@ -1,9 +1,6 @@
use crate::{
gui::App,
util::{
consts::{ENHANCED, LEGACY},
countdown::Countdown,
},
use crate::util::{
consts::{ENHANCED, LEGACY},
countdown::Countdown,
};
use std::time::{Duration, Instant};
use sysinfo::System;
@@ -49,22 +46,22 @@ fn get_gta_pid(sysinfo: &mut System) -> u32 {
u32::MAX
}
pub fn activate(app: &mut App) {
let pid = get_gta_pid(&mut app.sysinfo);
pub fn activate(handle: &mut HANDLE, sysinfo: &mut System) {
let pid = get_gta_pid(sysinfo);
if pid == u32::MAX {
return;
}
unsafe {
app.game_handle = OpenProcess(PROCESS_SUSPEND_RESUME, false, pid).unwrap();
let _ = NtSuspendProcess(app.game_handle);
*handle = OpenProcess(PROCESS_SUSPEND_RESUME, false, pid).unwrap();
let _ = NtSuspendProcess(*handle);
}
}
pub fn deactivate(app: &mut App) {
pub fn deactivate(handle: &mut HANDLE) {
unsafe {
if !app.game_handle.is_invalid() {
let _ = NtResumeProcess(app.game_handle);
let _ = CloseHandle(app.game_handle);
if !handle.is_invalid() {
let _ = NtResumeProcess(*handle);
let _ = CloseHandle(*handle);
}
}
}