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