20250716記錄?
環境:c# winform
問題描述:
? ? ?主界面退出直接使用了Environment.Exit(0); 程序假死,無法關閉
解決措施:
//使用
this.Close();
?以下代碼目標:執行完程序自身后,刪除指定文件(可用于程序文件db自我刪除)
已經在21H2型號執行完成,但在23H2(顯示為win11系統,但注冊表查詢到為win10...)無法執行
string deleteCommand = $"/C timeout /t 4 && del /F /Q \"exepath}\"";
// /C 參數告訴CMD在執行完命令后關閉窗口
// del 命令刪除文件
// /F 強制
// /Q 安靜模式,不要求確認try{ProcessStartInfo startInfo = new ProcessStartInfo(){Verb = "runas",CreateNoWindow = true ,UseShellExecute = false //避免出現cmd黑色窗口}Process p = Process.Start(startInfo);
}
catch(System.ComponentModel.Win32Exception ex) when (ex.NativeErrorCode == 1223)
{Console.WriteLine("操作已取消:用戶拒絕管理員權限");
}
catch(Exception ex)
{Console.WriteLine($"啟動管理員進程失敗{ ex.Message}");
}