API功能非常强大,这里我们利用API制作一个抓图的小程序。

[DllImport("gdi32.dll", CharSet = CharSet.Auto, SetLastError = true, ExactSpelling = true)]public static extern int BitBlt(IntPtr hDC, int x, int y, int nWidth, int nHeight, IntPtr hSrcDC, int xSrc, int ySrc, int dwRop); //获得当前屏幕的大小Rectangle rect = new Rectangle ( ) ;
rect = Screen.GetWorkingArea ( this ) ;
//创建一个以当前屏幕为模板的图象
Graphics g1 = this.CreateGraphics ( ) ;//创建以屏幕大小为标准的位图
Image MyImage = new Bitmap ( rect.Width , rect.Height , g1 ) ;
Graphics g2 = Graphics.FromImage ( MyImage ) ;
//得到屏幕的DC
IntPtr dc1 = g1.GetHdc ( ) ;
//得到Bitmap的DC
IntPtr dc2 = 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文件格式来保存
MyImage.Save ( textBox1.Text ,ImageFormat.Jpeg);
string a="当前屏幕已经保存到"+textBox1.Text;

资源:下载

c#调用API实现抓图相关推荐

  1. 调用API弹出打印机属性对话框

    调用api弹出打印机属性对话框  Author:vitoriatang From:Internet .NET Framework封装了很多关于打印的对话框,比如说PrintDialog, PageSe ...

  2. C#调用API向外部程序发送数据(转载)

    转自:http://www.cnblogs.com/trieagle/p/3811375.html C#调用API向外部程序发送数据 最近有可能要做一个项目.在项目中有这么一个功能,在A程序中调用B程 ...

  3. AHK调用API获取ListView每列的坐标

    以下代码获取前3列的横坐标: d_Index 为每列的序号(从 0 开始),lv_ID 为ListView的关联变量名,colW_1.colW_2.colW_3 分别为获取到的每列的横坐标. Loop ...

  4. 后端调用python_【后端开发】python如何调用api接口

    python调用api接口的方式: 接口协议:http.webservice.rpc等. 请求方式:get.post方式 请求参数格式: a. get请求都是通过url?param=xxx&p ...

  5. python消息推送_Python阿里云消息推送调用API

    很多公司测试APP推送时候,应该也是很头疼:推送环境:测试.正式,稍不注意就把测试的push到正式上,导致所有用户都收到 例子很多: 其实阿里.极光都有推送Api,直接调用API就ok,特别是有的公司 ...

  6. web api接口开发实例_小程序开发如何调用 API 接口,以豆瓣电影为例

    API 调用是开发者在小程序开发过程中经常会遇到的问题,本期我们以为调用豆瓣电影 API 为例具体来看 API 的调用过程以及常见的一些问题. 测试用到的小程序是「电影周周看」,内容来自清华大学软件学 ...

  7. C/C++中调用api设置mysql连接的编码方式

    MySQL在C/C++中调用api设置连接mysql的编码方式有以下几种方法: 1. mysqli_set_charset 调用示例: [cpp] view plain copy ret = mysq ...

  8. [转]c#调用API截图

    转自http://blog.csdn.net/hailiannanhai/article/details/6281471 要想完成这个功能,首先要了解一下在C#中如何调用API(应用程序接口)函数.虽 ...

  9. 防止多重启动之调用Api [收集2005090201]

    防止多重启动之调用Api (效果:第二次启动程序则前一进程的窗口跳到最前) using System.Threading; private const int SW_NORMAL = 1; // se ...

最新文章

  1. word2013插入excel对象报错_修改Word文档中嵌入的Excel对象
  2. .NET(C#) Internals: 以一个数组填充的例子初步了解.NET 4.0中的并行(二)
  3. 网络推广外包——网络推广外包专员表示网站营销推广重点细节要抓住
  4. 每天一道Java题[7]
  5. 大学物理规范作业25稳恒磁场_山东一地出台规定:严禁家长代批作业,违反规定将被一票否决...
  6. Spring第三讲:利用注解配置类取代Spring的配置文件
  7. 区块链和java哪个更难_java 区块链中设计合理的难度系数
  8. ssl1762-工厂的烦恼【图论,最短路变形(最长路)】
  9. ASP.NET Web 页面生命历程中的一天
  10. SQLi LABS Less 25 联合注入+报错注入+布尔盲注
  11. 【图像处理】MATLAB:基本原理
  12. 电脑文件的后缀名不见了,如何显示隐藏扩展名?
  13. 【虚拟仿真】Unity3D中如何实现让3D模型显示在UI前面
  14. 现代密码学-CA与数字证书详解
  15. Oracle导入英文日期格式数据出现问题的解决
  16. 大数据处理技术的总结与分析
  17. 批处理 统计多个文件数量大小
  18. java调用java程序,详细说明
  19. Cortex-M3 (NXP LPC1788)之RTC
  20. nginx 配置静态资源缓存。解决web静态资源访问过慢

热门文章

  1. idea 控制台 彩色打印日志
  2. 机器学习之十九(读书笔记)
  3. 什么是客户端负载均衡
  4. 建筑公司员工财务数据库分析
  5. linux下搜狗输入法不能输入中文的解决方案
  6. DC12-24V直流无刷驱动器方案,原理图,源代码都有
  7. 电话改进,苹果iOS11 VoIP来电和普通来电区别更直观
  8. 我为什么讨厌某些读后感
  9. 清华学霸讲计算机,清华学霸超强履历引膜拜 程序猿:这是学神啊
  10. 田忌赛马贪心算法_贪心算法解决田忌赛马