C#利用Windows自带gdi32.dll实现抓取屏幕功能实例
2023-06-13 09:15:44 时间
本文实例讲述了C#利用Windows自带gdi32.dll实现抓取屏幕功能,是C#应用程序设计中一个非常实用的功能,现分享给大家供大家参考借鉴。
具体功能代码如下:
internalstaticvoidGetScreenShot() { //获得当前屏幕的大小 Rectanglerect=newRectangle(); rect=Screen.AllScreens[0].WorkingArea; //计算图片的大小,因为图片的长和宽有可能超过目前屏幕的大小 //创建一个以当前屏幕为模板的图象 Controlctl=newControl(); Graphicsg1=ctl.CreateGraphics(); //创建以屏幕大小为标准的位图 ImageMyImage=newBitmap(rect.Width,rect.Height,g1); Graphicsg2=Graphics.FromImage(MyImage); //得到屏幕的DC IntPtrdc1=g1.GetHdc(); //得到Bitmap的DC IntPtrdc2=g2.GetHdc(); //调用此API函数,实现屏幕捕获 BitBlt(dc2,0,0,rect.Width,rect.Height,dc1,0,0,13369376); //释放掉屏幕的DC g1.ReleaseHdc(dc1); //释放掉Bitmap的DC g2.ReleaseHdc(dc2); //以JPG文件格式来保存 //Image.GetThumbnailImageAbortmyCallback=newImage.GetThumbnailImageAbort(ThumbnailCallback); //returnMyImage.GetThumbnailImage(control.Width,control.Height,myCallback,IntPtr.Zero); MyImage.Save("D:\\aa.jpg"); } [System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")] privatestaticexternboolBitBlt( IntPtrhdcDest,//目标设备的句柄 intnXDest,//目标对象的左上角的X坐标 intnYDest,//目标对象的左上角的X坐标 intnWidth,//目标对象的矩形的宽度 intnHeight,//目标对象的矩形的长度 IntPtrhdcSrc,//源设备的句柄 intnXSrc,//源对象的左上角的X坐标 intnYSrc,//源对象的左上角的X坐标 System.Int32dwRop//光栅的操作值 );
希望本文C#抓取屏幕实例对大家的C#程序设计有所帮助。
相关文章
- Windows查看端口占用情况_windows关闭端口命令
- WINDOWS下安装系统_在Windows环境下
- C#-调用浏览器打开网页
- C#-DevExpress改变表格行颜色
- windows 运行hadoop的WordCount报nativeio.NativeIO$Windows.createDirectoryWithMode0(Ljava/lang/String;I)详解大数据
- 在Windows环境下启动MySQL服务(windows启动mysql服务)
- 在Windows系统下安装MySQL数据库(windows下安装mysql)
- 和windows双系统安装:Linux与Windows并存(安装双系统linux)
- 实现无缝连接:Linux远程桌面Windows,保持高效办公(linux远程桌面windows)
- 使用Windows启动Redis命令:简单易学,让你轻松玩转Redis(windows启动redis命令)
- Windows无法启动MySQL服务:解决方案.(windows无法启动mysql服务)
- Linux轻松移植文件至Windows(从linux下载文件到windows)
- Windows实现连接Linux的新方式(windows连接linux)
- 在Windows上安装Linux系统的步骤(windows安装linux系统)
- C#数组应用分析
- c#正则表达式对网页进行有效内容抽取
- c#中虚函数的相关使用方法
- C#泛型约束的深入理解
- C#文件后缀名的详细介绍
- c#获取windows桌面背景代码示例
- c#调用api控制windows关机示例(可以重启/注销)
- c#判断数据库服务器是否已经启动的方法
- 浅谈C#设计模式之开放封闭原则
- VisualC#类的定义及实现方法实例解析