C# 屏幕监控 自动截屏程序 主窗体隐藏,仅在进程中显示

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

namespace Screen
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            //主窗体桌面不显示 仅在进程中显示
            InitializeComponent();
            this.WindowState = FormWindowState.Minimized;
            this.ShowInTaskbar = false;
            SetVisibleCore(false);
        }
        protected override void SetVisibleCore(bool value)
        {
            base.SetVisibleCore(value);
        }  

        private void timer1_Tick(object sender, EventArgs e)
        {
            //获得当前屏幕的大小 
            Rectangle rect = new Rectangle();
            rect = System.Windows.Forms.Screen.GetWorkingArea(this);
            Size mySize = new Size(rect.Width, rect.Height);
            Bitmap bitmap = new Bitmap(rect.Width, rect.Height);
            Graphics g = Graphics.FromImage(bitmap);
            g.CopyFromScreen(0, 0, 0, 0, mySize);
            string ImageName = DateTime.Now.ToString("yyyyMMdd_hhmmss") + ".jpg";
            bitmap.Save("F://screen//" + ImageName); 
            //释放资源
            bitmap.Dispose();
            g.Dispose();
            GC.Collect(); 
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            timer1.Enabled = true;//激活timer控件
        }
    }
}

原文地址:https://www.cnblogs.com/smartsmile/p/6234306.html