C# 界面程序在23H2型号系统中无法退出

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}");
}

你可能感兴趣的:(c#)