当前位置: 首页 > news >正文

C#/WPF 自制截图工具

        在日常使用电脑办公时,我们经常遇到需要截图然后保存图片,我们往往需要借助安装截图工具才能实现,现在我们通过C#自制截图工具,也能够轻松进行截图。

我们可以通过C#调用WindousAPI来实现截图,实例代码如下:

/// <summary>/// 调用API函数获取整个屏幕的图像/// </summary>/// <returns></returns>[DllImport("user32.dll", EntryPoint = "GetDesktopWindow")]private static extern IntPtr GetDesktopWindow();[DllImport("user32.dll", EntryPoint = "GetWindowDC")]private static extern IntPtr GetWindowDC(IntPtr hwnd);[DllImport("gdi32.dll", EntryPoint = "BitBlt")]private static extern int BitBlt(IntPtr hDestDC,int x,int y,int nWidth,int nHeight,IntPtr hSrcDC,int xSrc,int ySrc,int dwRop);/// <summary>/// 截取整个屏幕的图像/// </summary>/// <returns></returns>public static Bitmap CopyFromScreen(){int width = (int)SystemParameters.PrimaryScreenWidth;int height = (int)SystemParameters.PrimaryScreenHeight;Bitmap newBitmap = new Bitmap(width, height);Graphics g = Graphics.FromImage(newBitmap);IntPtr DeskHwnd = GetWindowDC(GetDesktopWindow());IntPtr Ghwnd = g.GetHdc();BitBlt(Ghwnd, 0, 0, width, height, DeskHwnd, 0, 0, 13369376);g.ReleaseHdc(Ghwnd);CopyHelper.newBitmap = newBitmap;return newBitmap;}

实例链接:https://download.csdn.net/download/lvxingzhe3/89505005

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • ctfshow-web入门-文件包含(web87)巧用 php://filter 流绕过死亡函数的三种方法
  • 陈志泊主编《数据库原理及应用教程第4版微课版》的实验题目参考答案实验2
  • Nuxt3 的生命周期和钩子函数(十一)
  • 【十三】图解 Spring 核心数据结构:BeanDefinition 其二
  • Poker Game, Run Fast
  • 【C++】模板进阶--保姆级解析(什么是非类型模板参数?什么是模板的特化?模板的特化如何应用?)
  • 基于Python爬虫的城市二手房数据分析可视化
  • 算法系列--分治排序|再谈快速排序|快速排序的优化|快速选择算法
  • 在 .NET 8 Web API 中实现弹性
  • ONLYOFFICE 8.1——全新桌面编辑器,相见恨晚
  • R 数据重塑
  • 算法训练营day06 哈希表(统计数,去重,降低时间复杂度)
  • Springboot项目接入支付宝SDK
  • py基础语法简述
  • 基于Java的微信记账小程序【附源码】
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • HTTP 简介
  • JavaScript设计模式与开发实践系列之策略模式
  • Linux Process Manage
  • Magento 1.x 中文订单打印乱码
  • Mybatis初体验
  • October CMS - 快速入门 9 Images And Galleries
  • scrapy学习之路4(itemloder的使用)
  • swift基础之_对象 实例方法 对象方法。
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 阿里云前端周刊 - 第 26 期
  • 不上全站https的网站你们就等着被恶心死吧
  • 分享几个不错的工具
  • 看域名解析域名安全对SEO的影响
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 如何合理的规划jvm性能调优
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • ​学习笔记——动态路由——IS-IS中间系统到中间系统(报文/TLV)​
  • (19)夹钳(用于送货)
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (2024)docker-compose实战 (9)部署多项目环境(LAMP+react+vue+redis+mysql+nginx)
  • (bean配置类的注解开发)学习Spring的第十三天
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第1节 (全局数据、栈和堆)
  • (PySpark)RDD实验实战——求商品销量排行
  • (二)Eureka服务搭建,服务注册,服务发现
  • (接上一篇)前端弄一个变量实现点击次数在前端页面实时更新
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (一)appium-desktop定位元素原理
  • (一)模式识别——基于SVM的道路分割实验(附资源)
  • (转)Scala的“=”符号简介
  • (转)大型网站的系统架构
  • (转)详解PHP处理密码的几种方式
  • (状压dp)uva 10817 Headmaster's Headache
  • . Flume面试题
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .DFS.
  • .NET Core中的时区转换问题