我刚刚在C#中创建了一个小程序,没什么特别,它打开了一个rdp文件。然后它进入一个无限循环并持续检查mstsc是否正在运行,如果它没有执行任何操作,如果它不是(用户已关闭会话),它将重新打开。我运行下面的代码,它敲击了我的CPU,然后在蓝屏之后不久,小型转储器说这是因为“这表示在执行从非特权代码转换到特权代码的例程时发生异常。C#执行循环
不知道这是什么意思,但任何想法这个代码有什么问题?
static void Main(string[] args)
{
RDP();
for (int i = 1; i > 0; i++)
{
foreach (Process clsProcess in Process.GetProcesses())
{
if (clsProcess.ProcessName.Contains("mstsc.exe"))
{
}
else
{
RDP();
}
}
}
}
private static void RDP()
{
Process rdp = new Process();
rdp.StartInfo = new ProcessStartInfo("C:\\Alistair\\Default.rdp");
rdp.Start();
}
更新:我认为需要的无限循环的处理能力可能是责怪,但我试过循环5次,但同样的结果。
定义“蓝色筛选”。这个蓝屏你的整个PC? – Justin
是的,它给了我死亡的蓝色屏幕,Valamas制定了什么导致它和科迪修复它,看到下面的答案 –
这是什么操作系统?如果可以重现,您可能需要考虑向Microsoft提交错误报告。 – Justin