Сделайте снимок экрана с приложением C# внутри виртуальной машины, если сеанс удаленного рабочего стола не открыт - PullRequest
0 голосов
/ 28 апреля 2020

Я попробовал следующие два метода в c#:

1. Использование кода для создания снимка экрана с окном

 Bitmap Screenshot = new Bitmap(Width, Height);
 Graphics G = Graphics.FromImage(Screenshot);

 G.CopyFromScreen((int)screenLeft, (int)screenTop, 0, 0, new System.Drawing.Size(Width, Height), CopyPixelOperation.SourceCopy);

 string fileName = argPath + "\\" + argFileName;
 System.IO.FileStream fs = System.IO.File.Open(fileName, System.IO.FileMode.OpenOrCreate);
 Screenshot.Save(fs, System.Drawing.Imaging.ImageFormat.Png);
 fs.Close();

2. Использование кнопки экрана печати, нажатой с кодом:

 SendKeys.SendWait("{PRTSC}");

Оба работают, когда удаленный сеанс открыт, но не работают, когда сеанс закрывается. Есть ли способ захватить окно, чтобы я знал, что происходит в remotedesktop?

...