// 隐藏控制台(双保险:build.rs 也有 /SUBSYSTEM:WINDOWS) #![windows_subsystem = "windows"] mod app; mod config; mod inspect; mod matcher; mod privilege; mod report; mod scan; mod ui; mod utils; use crate::app::App; use crate::privilege::ensure_admin; use crate::utils::logger::init_logger; fn main() -> anyhow::Result<()> { // 单次 UAC 提升:未以管理员运行时通过 runas 重启当前进程 if let Err(e) = ensure_admin() { // 提示但不强制退出(用户可能在调试) tracing::warn!("UAC 提升失败:{}", e); } init_logger(); let viewport = eframe::egui::ViewportBuilder::default() .with_title("涉密文件自检工具") .with_inner_size([1280.0, 800.0]) .with_min_inner_size([960.0, 640.0]); let options = eframe::NativeOptions { viewport, vsync: true, ..Default::default() }; eframe::run_native( "涉密文件自检工具", options, Box::new(|cc| Box::new(App::new(cc))), ) .map_err(|e| anyhow::anyhow!("eframe 启动失败:{}", e)) }