我剛剛在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