C# 截屏软件

当鼠标的光标在窗口内时,单击鼠标的左键或右键,即可实现截屏功能。

截屏成功后,会自动弹出确认对话框,可即刻关闭,也可等待3秒自动关闭。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace 截屏软件
{
    public partial class Form1 : Form
    {
        
        public Form1()
        {
            InitializeComponent();

        }
       
        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            //Screen.GetWorkingArea 方法:检索包含指定矩形最大部分的显示器的工作区。 工作区是显示器的桌面区域,不包括任务栏、停靠窗口和停靠工具栏。
            Rectangle screenArea = Screen.GetWorkingArea(this);
            //Screen.GetBounds 方法:检索包含指定矩形最大部分的显示器的边界。这个区域包括任务栏,就是屏幕显示的物理范围
            //Rectangle screenArea = Screen.GetBounds(this);
            Bitmap bmp = new Bitmap(screenArea.Width, screenArea.Height);
            using (Graphics g = Graphics.FromImage(bmp))
            {
                g.CopyFromScreen(0, 0, 0, 0, new Size(screenArea.Width, screenArea.Height));
                string dateTime = DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss");
                bmp.Save("D:" + "\\" + dateTime + ".jpg");
                textBox1.Text = null;
                textBox1.Text = "D:" + "\\" + dateTime + ".jpg";
                pictureBox1.Image = bmp;              
                //启动定时器
                timer1.Interval = 3000;
                timer1.Start();
                // 显示对话框
                MessageBox.Show("截图成功,3秒钟后,这个对话框后自动关闭!", "自动关闭的对话框", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);

            }

            return;
        }
       private void timer1_Tick(object sender, EventArgs e)
        {
            // 停止定时器
            timer1.Stop();
            // 向对话框发送按键 Enter
            SendKeys.Send("ENTER");
        }
}

效果图:

猜你喜欢

转载自blog.csdn.net/haier123888/article/details/112426783
今日推荐