程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#實現定時全屏截圖並且保存到預先設定好的文件夾中的代碼示例

C#實現定時全屏截圖並且保存到預先設定好的文件夾中的代碼示例

編輯:C#入門知識

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的登陸窗口,這個問題也是我寫完之後無意間發現的問題,但是由於本人也是個菜鳥,所以如果要求不高的截圖你可以參考,但是如果你需要截下屏幕上所有的圖,你可以在這個代碼的基礎上在研究一下,順便也給我一份代碼,也學習一下,大家一起學習。希望會對大家有幫助

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved