每5分钟拍摄一次活动窗口的屏幕截图,并将其保存在文件中

本文关键字:屏幕截图 保存 文件 存在 窗口 5分钟 活动 一次 | 更新日期: 2023-09-27 17:57:04

已经搜索过,但没有从任何地方获得帮助!捕获场景并将其保存在文件夹中

每5分钟拍摄一次活动窗口的屏幕截图,并将其保存在文件中

所以你的问题在于如何每 5 分钟运行一次任务。使用计时器:

var timer = new System.Timers.Timer(TimeSpan.FromMinutes(5).TotalMilliseconds);
timer.Elapsed += Timer_Elapsed;
timer.Start();
private static void Timer_Elapsed(object sender, ElapsedEventArgs e)
{
    // call the function that takes the screenshot
}

使用此函数捕获屏幕:

private static Image CaptureScreen()
    {
        Rectangle screenSize = Screen.PrimaryScreen.Bounds;
        var target = new Bitmap(screenSize.Width, screenSize.Height);
        using (Graphics g = Graphics.FromImage(target))
        {
            g.CopyFromScreen(0, 0, 0, 0, new Size(screenSize.Width, screenSize.Height));
        }
        return target;
    }

保存到文件:

var currentImage = CaptureScreen();
currentImage.Save(Path.Combine("Your directory path", "Your file name"));

您是否在每次保存图像时创建一个新文件名,这意味着,而不是:

image.Save(@"D:'documents'FYP'snippetsource.jpg", ImageFormat.Jpeg);

执行以下操作:

image.Save(string.Format(@"D:'documents'FYP'snippetsource_{0}.jpg", Guid.NewGuid()), ImageFormat.Jpeg);

您可以使用对应用程序更有意义的任何唯一字符串更改Guid.NewCuid()

希望对您有所帮助!