mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2026-03-19 04:29:45 +08:00
@@ -25,12 +25,7 @@ fn main() {
|
||||
},
|
||||
));
|
||||
#[cfg(target_os = "windows")]
|
||||
{
|
||||
enable_dpi_v2();
|
||||
unsafe {
|
||||
std::env::set_var("RUST_BACKTRACE", "1");
|
||||
}
|
||||
}
|
||||
enable_dpi_v2();
|
||||
#[cfg(target_os = "linux")]
|
||||
unsafe {
|
||||
// Not unsafe if you don't use edition 2024
|
||||
|
||||
@@ -187,7 +187,6 @@ pub fn find_module_base(pid: u32, dll_name: &str) -> Option<usize> {
|
||||
loop {
|
||||
let len = me32.szModule.iter().position(|&c| c == 0).unwrap_or(me32.szModule.len());
|
||||
let name = String::from_utf16_lossy(&me32.szModule[..len]);
|
||||
eprintln!("Enumerated module: {}", name);
|
||||
|
||||
// 精确文件名比较或后缀比较(大小写不敏感)
|
||||
if name.eq_ignore_ascii_case(dll_name)
|
||||
|
||||
@@ -11,7 +11,7 @@ use pt_ac::parse_achi_list;
|
||||
use pt_store::parse_store_list;
|
||||
use serde_json::Value;
|
||||
use std::collections::HashMap;
|
||||
use std::fs::File;
|
||||
use std::fs::{self, File};
|
||||
use std::io::{self, Read, Write};
|
||||
use std::os::windows::io::{FromRawHandle, RawHandle};
|
||||
use std::sync::Arc;
|
||||
@@ -74,7 +74,14 @@ pub fn call_yae_dll(
|
||||
uid: String,
|
||||
ticket: Option<String>,
|
||||
) -> Result<(), String> {
|
||||
let dll_path = app_handle.path().resource_dir().unwrap().join("resources/YaeAchievementLib.dll");
|
||||
let dll_local_path =
|
||||
app_handle.path().resource_dir().unwrap().join("resources/YaeAchievementLib.dll");
|
||||
let dll_path = app_handle.path().app_config_dir().unwrap().join("YaeAchievementLib.dll");
|
||||
// -1. 移动 dll 到应用目录以解决权限问题
|
||||
match fs::copy(&dll_local_path, &dll_path) {
|
||||
Ok(_) => println!("✅ DLL 已成功复制到 {:?}", dll_path),
|
||||
Err(e) => eprintln!("❌ 复制 DLL 失败: {:?}", e),
|
||||
}
|
||||
dbg!(&dll_path);
|
||||
// 0. 创建 YaeAchievementPipe 的 命名管道,获取句柄
|
||||
dbg!("开始启动 YaeAchievementPipe 命名管道");
|
||||
|
||||
Reference in New Issue
Block a user