[VS2005]
玩魔兽世界的时候,发现有个截图功能;
按PrtScSysRq键,就会以jpg格式保存当前屏幕图片到指定目录;我想模拟做一个这样的功能:
在Form1窗体运行后,按下PrtScSysRq键,就保存屏幕图片到C盘,以当前日期时间为图片的文件名(20090612120445.jpg);
//20090612120445=2009年6月12日12:04:45
谁能给个链接资源什么的都可以,想研究下;
[注:请不要回复UP,绝对无分]
玩魔兽世界的时候,发现有个截图功能;
按PrtScSysRq键,就会以jpg格式保存当前屏幕图片到指定目录;我想模拟做一个这样的功能:
在Form1窗体运行后,按下PrtScSysRq键,就保存屏幕图片到C盘,以当前日期时间为图片的文件名(20090612120445.jpg);
//20090612120445=2009年6月12日12:04:45
谁能给个链接资源什么的都可以,想研究下;
[注:请不要回复UP,绝对无分]
想办法键个能承载图片内容的文件,打开后粘贴下就应该可以了,
接着再把文件移到C盘
http://www.wangqi.com/html/2007-01/9392.htm
看这个吧。
视频的话,就难了。
1.模拟出发键盘按键PrintScreen键
2.将保存在剪切板里面的信息读取到FileStream中
3.用Image类实现FileStream中的图片
4.将文件保存为DateTime.Now.ToString("yyyyMMddHHmmss")好像就是这样吧
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace SMGe
{
public partial class Form截图2 : Form
{
public Form截图2()
{
InitializeComponent();
} private void Form截图2_Load(object sender, EventArgs e)
{ } private void button1_Click(object sender, EventArgs e)
{
Get截图();
} //显示截图窗口
void Get截图()
{
Image img = new Bitmap(Screen.AllScreens[0].Bounds.Width, Screen.AllScreens[0].Bounds.Height);
Graphics g = Graphics.FromImage(img);
g.CopyFromScreen(new Point(0, 0), new Point(0, 0), Screen.AllScreens[0].Bounds.Size);
Form截图 body = new Form截图();
body.BackgroundImage = img;//img已获取屏幕图片,并设置为窗体的背景色,如何把img保存在C盘:A.jpg
body.Show();
}
}
}
//img已获取屏幕图片,并设置为窗体的背景色,
如何把img保存在C盘:A.jpg
{
Image img = new Bitmap(Screen.AllScreens[0].Bounds.Width, Screen.AllScreens[0].Bounds.Height);
Graphics g = Graphics.FromImage(img);
g.CopyFromScreen(new Point(0, 0), new Point(0, 0), Screen.AllScreens[0].Bounds.Size);
string name = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() +
DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString();
img.Save(@"C:\" + name + ".jpg", ImageFormat.Jpeg); g.Dispose();
img.Dispose();
}
object a=new object();
if (Clipboard.ContainsImage())
{
a = Clipboard.GetData(DataFormats.Bitmap);
Image b = (Image)a;
string name = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() +DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString(); b.Save(@"C:\"+name+".bmp");
}
private void timer1_Tick(object sender, EventArgs e)
{
object a = new object();
if (Clipboard.ContainsImage())
{
a = Clipboard.GetData(DataFormats.Bitmap);
Image b = (Image)a;
string name = DateTime.Now.ToString("yyyyMMddHHmmss"); b.Save(@"C:\" + name + ".jpg");
} base.Dispose();
Clipboard.Clear();
}