首页 > 代码库 > 自己写的屏幕录像及播放软件

自己写的屏幕录像及播放软件

最近工作比较清闲,所以开始捣鼓代码了,在使用电脑的时候会经常需要记录一个东西,但是这东西又是一闪而过,所以就想有一个屏幕录像器,用现成的又都要注册什么的,所以就干脆自己写一个吧,思路很简单:每秒钟截一次屏,保存下来,然后播放器当然就是一秒钟播放一次图片了。自己认为牛X一点的功能就是支持全局热键,废话不多说上主要代码:

        public bool copyScreen(string path)        {            //引用命名空间using System.Drawing.Imaging;            Rectangle rect = new Rectangle();            rect = 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 = path + @"\" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".jpg";            try            {                //如果程序开启后,文件夹被删除,则重新建立                if (!File.Exists(path))                {                    Directory.CreateDirectory(path);                }                bitmap.Save(ImageName, ImageFormat.Jpeg);            }            catch (Exception ee)            {                                                                       MessageBox.Show("保存出现异常!检查是否空间不足!");                return false;            }            bitmap.Dispose();            g.Dispose();            GC.Collect();            return true;        }

还有一个主要的地方就是这个程序要隐身,我是这么做的:

 public CopyScreen()        {            InitializeComponent();            this.WindowState = FormWindowState.Minimized;            this.ShowInTaskbar = false;            SetVisibleCore(false);        }        protected override void SetVisibleCore(bool value)        {            base.SetVisibleCore(value);        }

在任务管理器上还是能看见的这也方便调试。因为我要保证程序的唯一性,这就是下一步要说的。程序只能运行一个实例

     static void Main()        {            bool isAppRuning = false;            System.Threading.Mutex mutex=new System.Threading.Mutex(true,System.Diagnostics.Process.GetCurrentProcess().ProcessName, out isAppRuning);            if (isAppRuning) {            Application.EnableVisualStyles();            Application.SetCompatibleTextRenderingDefault(false);            Application.Run(new CopyScreen());            }            else            {                Environment.Exit(1);            }        }

还有一个地方就是全局热键,大家自己搞一下吧。

程序的使用方法:启动后,程序没有界面,按shift+z开始录像,按shift+x停止录像,按ctrl+shift+a是截屏,shift+e程序退出,如果没产生文件程序会自动删除建立的文件夹。产生的文件夹在程序的根部录下。建议可以开机启动,很方便。

这就是播放器的界面,打开按钮打开刚才录像产生的文件夹,点击开始,开始播放,点击播放区域可以暂停,按开始键继续。

这基本上就是这两个小软件的全部,只是享受自己制作的快感,希望大牛勿喷。

想获得编译好的软件以及源码在这里:http://item.taobao.com/item.htm?spm=0.0.0.0.QTHs8l&id=41209799164            ps.接受议价。

也不是说一定要收钱,但是这也是自己的劳动成果,而且主要代码已分享,希望大家不要黑我。有不懂得可以留评论。有可以优化的地方也希望多提建议。

我的小店刚开张:http://shop113034356.taobao.com/。程序员不容易,希望大家多多支持,有钱的捧个人场,没钱的捧个人场,点点链接,收藏店铺什么的。

 

自己写的屏幕录像及播放软件