Захват экрана службы Windows возвращает черный экран
Я пытаюсь создать приложение службы Windows для захвата экрана. Ранее я имелпроблемазапуска службы. Во всяком случае, яЯ могу решить это, и теперь яУ меня другая проблема. Теперь изображение сохраняется, но сохраняется как черный экран. для этого также естьВ SOF много вопросов, но я не могуне в состоянии решить мою проблему.
Вот что я пробовал до сих пор:
public partial class ScreenCaptureService : ServiceBase
{
private static Bitmap bmpScreenshot;
//private static Graphics gfxScreenshot;
System.Timers.Timer timer = new System.Timers.Timer();
public ScreenCaptureService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
TraceService();
timer.Elapsed += new ElapsedEventHandler(OnElapsedTime);
timer.Interval = 60000;
timer.Enabled = true;
}
protected override void OnStop()
{
timer.Enabled = false;
TraceService();
}
private void TraceService()
{
Desktop userDesk = new Desktop();
userDesk.BeginInteraction();
string path = @"D:\Screen\";
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
string fileName = string.Format("SCR-{0:yyyy-MM-dd_hh-mm-ss-tt}.png", DateTime.Now);
string filePath = path + fileName;
bmpScreenshot = CaptureScreen.GetDesktopImage();
bmpScreenshot.Save(filePath, ImageFormat.Png);
userDesk.EndInteraction();
}
private void OnElapsedTime(object source, ElapsedEventArgs e)
{
TraceService();
}
}
здесь я следовал кодам, упомянутым вВот а такжеВот, но это неэто работает для меня.
м с использованием windows 7 шт. я видел несколько ответов, упомянутых оthe session 0 isolation feature
но я не могне получить правильное решение от них.
РЕДАКТИРОВАТЬ здесь этот сервис работает какsession 0