Я только что создал небольшую программу, ничего особенного, на C #, которая открывает файл rdp. Затем он входит в бесконечный цикл и продолжает проверять, запущен ли mstsc, если это так, то он ничего не делает, если это не так (пользователь закрыл сеанс), он снова открывается. Я запустил приведенный ниже код, и он забил мой процессор, а затем, вскоре после синего экрана, minidump говорит, что это произошло потому, что «это означает, что произошло исключение при выполнении подпрограммы, которая переходит от непривилегированного кода к привилегированному коду».
Не уверен, что это значит, но есть идеи, что не так с этим кодом?
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 раз, но результат тот же.