返回顶部

收藏

C#实现定时全屏截图并且保存到预先设定好的文件夹中的代码示例

更多

  自定义一个截图函数,          public static void Snap(int x, int y, int width, int height)        {            try            {

                 //这段代码也可以实现截图                //Image image = new Bitmap(width, height);                //Graphics g = Graphics.FromImage(image);                //g.CopyFromScreen(x, y, 0, 0, new System.Drawing.Size(width, height));                //string hour = DateTime.Now.Minute.ToString();                //string second = DateTime.Now.Second.ToString();                //image.Save(ScreenshotPath + "\" + hour + "" + second + ".jpg");                Bitmap image = new Bitmap(GetSystemMetrics(0), GetSystemMetrics(1));                using (Graphics g = Graphics.FromImage(image))                {                    g.CopyFromScreen(0, 0, 0, 0, image.Size);                    g.Dispose();                    string hour = DateTime.Now.Minute.ToString();                    string second = DateTime.Now.Second.ToString();                    image.Save(“C:” + "\" + hour + "" + second + ".jpg");                }            }            catch            {            }        }

      然后在一个timerSrc_Tick 中调用自定义的截图函数,然后就会定时截图,保存到指定文件夹

        private void timerSrc_Tick(object sender, EventArgs e)        {            Help.Snap(0, 0, Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);        }

       但是运行了这段代码之后细心的人可能发现可以实现截图,但是有一些软件打开之后是截不到的,比如你打开一个QQ登陆窗口,但是你发现截图中并没有QQ的 登陆窗口,这个问题也是我写完之后无意间发现的问题,但是由于本人也是个菜鸟,所以如果要求不高的截图你可以参考,但是如果你需要截下屏幕上所有的图,你 可以在这个代码的基础上在研究一下,顺便也给我一份代码,也学习一下,大家一起学习。希望会对大家有帮助

标签:c#

收藏

0人收藏

支持

0

反对

0

发表评论