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的登陆窗口,这个问题也是我写完之后无意间发现的问题,但是由于本人也是个菜鸟,所以如果要求不高的截图你可以参考,但是如果你需要截下屏幕上所有的图,你可以在这个代码的基础上在研究一下,顺便也给我一份代码,也学习一下,大家一起学习。希望会对大家有帮助

时间: 2024-11-09 11:11:24

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

获取远程图片保存到本地文件夹中

1 /** 2 * 抓取远程图片到本地,可以抓取不带有后缀的图片 3 * @author YanYing <[email protected]> 4 * @link bidianer.com 5 */ 6 class GrabImage{ 7 8 /** 9 * @var string 需要抓取的远程图片的地址 10 * 例如:http://www.bidianer.com/img/icon_mugs.jpg 11 * 有一些远程文件路径可能不带拓展名 12 * 形如:http://www.x

python 处理文件夹中的文件(新建另一个文件保存),listdir顺序输出

1.原始文件 要求文件: # -*- coding:utf8 -*- import os def splitSentence(inputFile,name): fin = open(inputFile, 'r') #以读的方式打开文件 print name fout= open('/home/xdj/abstract1/'+name,'w') #以写得方式打开文件 for eachLine in fin: if 'abstract=' in eachLine: fout.write(eachLi

Temporary ASP.NET Files 文件夹中保存的是什么内容?[转]

转自:http://www.cnblogs.com/suiqirui19872005/archive/2007/05/14/746320.html ASP.NET 页面请求的处理过程需要使用一些临时文件.当您在 Web 服务器上安装 ASP.NET 2.0 时,所创建的文件夹层次结构如下: %WINDOWS%\Microsoft.NET\Framework\v2.0.50727 这里的版本号指的是 ASP.NET 2.0 的零售版.ASP.NET 的每个发布版本(包括每个过渡性的内部版本)都有一

将一个文件夹中的所有图片压缩,并保存到另一个文件夹中

from PIL import Image from os import listdir import numpy as np path = '/home/hscuabc/WorkSpace/Python-srf/深度神经网络/data/人脸识别测试数据/negdata' save_path = '/home/hscuabc/WorkSpace/Python-srf/深度神经网络/data/人脸识别测试数据/reshape_negdata' w_expect = 20;l_expect = 20

sublimeText3 中配置sass环境,并将编译后文件保存到指定文件夹

sass基于ruby引擎,所以安装时ass.compass之前需要安装ruby.具体的链接应该是(http://rubyinstaller.org/downloads).下载并安装相应的版本,勾选第二项(要在cmd中使用ruby). 打开命令行,输入ruby -v,查看我们安装的ruby版本信息. ruby安装完成之后,打开ruby的command面板,接下来就是安装sass了.Windows下安装sass有多种方法,这里说一下其中的两种: 1.到 Rubygems(http://rubygem

机器学习之保存与加载.pickle模型文件

import pickle from sklearn.externals import joblib from sklearn.svm import SVC from sklearn import datasets #定义一个分类器 svm = SVC() iris = datasets.load_iris() X = iris.data y = iris.target #训练模型 svm.fit(X,y) #1.保存成Python支持的文件格式Pickle #在当前目录下可以看到svm.pic

文件夹分级保存文件

在上传文件时,文件可能会很多,我们知道,当把全部的文件放到同一个目录中之后,打开目录会很慢 这样也说明了,查找文件的效率是降低的 我们把文件放到不同的目录中,以便于提高文件查找效率 文件夹分级思想 采用16进制命名文件夹,创建二级目录,这样可以把文件放到16*16=256个文件夹里面 1 String str="lkjhgfds.jpg";//文件名 2 int a=str.hashCode();//文件名的哈希值 3 int b=a & 0xf;//取后4位 4 System

弹出打开/保存文件对话框 选择文件夹对话框

打开/保存文件对话框: CFileDialog::CFileDialog( BOOL bOpenFileDialog, //为TRUE则显示打开对话框,为FALSE则显示保存对话文件对话框 LPCTSTR lpszDefExt = NULL, //默认的文件扩展名 LPCTSTR lpszFileName = NULL, //默认的文件名 DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, //设定风格 LPCTSTR lpszFilt

不经保存,直接读取上传文件的内容

<%@ Page Language="C#" AutoEventWireup="true" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server&qu