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

七里港网站建设线上推广的渠道

七里港网站建设,线上推广的渠道,工信网企业查询,网站右侧浮动代码本文介绍了 .NET 实现截图功能的思路和过程#xff0c;如果你仅想了解最后的解决方案#xff0c;可以直接查看文章末尾。截图的功能我们应该都经常使用#xff0c;在开发软件时#xff0c;我们有时也或多或少需要提供这方面的功能#xff0c;无论是为用户更方便提供远程诊…本文介绍了 .NET 实现截图功能的思路和过程如果你仅想了解最后的解决方案可以直接查看文章末尾。截图的功能我们应该都经常使用在开发软件时我们有时也或多或少需要提供这方面的功能无论是为用户更方便提供远程诊断还是获取用户的选择区域亦或是提供某些功能上的辅助。开发截图无非就这几种选择教用户使用截图工具、自行开发一个、使用第三方库。教用户使用教的成本无疑是最低的但是不知道用户那边会发生什么存在很大的不确定性。截图软件除了我们经常用的聊天工具和系统自带的 Win Ctrl S外我用起来感觉最好的还是 C 写的开源软件 flameshot[1] 功能非常强大。flameshot使用的第三方的截图软件不仅有教的成本还会打断用户对本身软件的一个使用体验。教用户使用最好还是用系统自带的 Win Ctrl S截图已经可以满足基本的截图需求。自行开发自行开发的原理也非常简单创建一个半透明的全屏无边框窗体记录鼠标在窗体上的框选矩形位置使用CopyFromScreen获取该位置的屏幕图片即可。以上只是针对单个显示器的情况若有多个显示器则需要增加鼠标所在显示器的逻辑。虽然听起来不难但代码实现起来还是有许多要注意的细节。简单的矩形截图实现不难难得是让用户易用易接受毕竟聊天软件已经帮你培养了用户习惯。使用第三方库CSkin[2] 是我在 2012 年就在使用的一款界面库在 WinForm 无疑是软件 UI 美化的王者可以直接作出和 PC 端 QQ 一样的界面体验。库里也提供了截图工具 FrmCapture没中不足的是在多显示器场景下会报错无法正常使用代码库也有 4 年没有更新了。private FrmCapture m_frmCapture; if (m_frmCapture null || m_frmCapture.IsDisposed) {m_frmCapture new FrmCapture(); } m_frmCapture.IsCaptureCursor false; // 截图结束事件 m_frmCapture.Disposed M_frmCapture_Disposed; m_frmCapture.Show();HandyControl[3] 和在 nuget 上搜索到的 ScreenCapturerSharp[4] 虽然也可以实现截图功能但都无法处理多显示器的场景。HandyControl 社区活跃其使用体验会比较好。ScreenCapturerSharp 提供了类似 QQ 的截图工具库在 UI 上稍差一些。如何又快又好又容易如果只是获取截图有没有更简单的方式呢我们只需要模拟按键 Win Ctrl S 就可以了呀然后通过剪贴板获取到截图。说起来容易但是事情其实并没有那么简单。首先 SendKeys 就不支持发送 Windows 徽标按键我们需要通过 WinAPI keybd_event 来替代实现然后还要获取到截图结束的事件。[DllImport(user32.dll, SetLastError true)] static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, UIntPtr dwExtraInfo);其实上面是一个保底的通用方案我们可以自行启动截图软件启动截图软件读取剪贴板Clipboard.GetImage() 一套结束无缝无感堪称完美Process snippingToolProcess new Process() {StartInfo new ProcessStartInfo(C:\\Windows\\system32\\SnippingTool.exe, /clip),EnableRaisingEvents true, }; snippingToolProcess.Exited SnippingToolProcess_Exited; snippingToolProcess.Start();事情其实远没有那么简单直到我在 Win11 用了我的软件。才意识到这只是可以在 Win10 的 64 位操作系统使用。SnippingTool /clip 这样带参数启动在 Win11 不支持了这个路径下的 exe 还被删除了。虽然你可以在 Win11 通过控制台使用SnippingTool /clip启动截图软件但是并不会直接进入截图流程而是打开软件主界面。仔细研究你会发现Win11 的截图其实已经是 UWP 应用了就算你吧 Win10 的 SnippingTool.exe 复制到 Win11 也是报错无法使用的所以你也不可能在自己的软件打包带上它。经过几番折腾我在微软社区提问和提交反馈 Win F 的时候我觉得这个软件是不是这样启动直接就先截了个屏 但是没有找到新版本截图的启动参数。最后直到我前几天发现 Microsoft Learn 的文章 启动屏幕截取 - UWP applications[5]。在 UWP 里使用这么简单嘛使用 LaunchUriAsync 就可以了。bool result await Windows.System.Launcher.LaunchUriAsync(new Uri(ms-screenclip:));有了 URI 的方式一切就变简单了你甚至可以在浏览器里调用截图放一个超链接或者直接在浏览器地址栏粘贴ms-screenclip:后回车打开截图。之后我们只需要监听进程结束就可以了这里需要说明的是不是启动的进程而是截图的进程下面直接上在 WinForm 中使用的代码var psi new ProcessStartInfo() {UseShellExecute true,FileName ms-screenclip: }; Process.Start(psi);// 获取 ScreenClippingHost 这个截图进程的结束事件 var snippingToolProcess Process.GetProcessesByName(ScreenClippingHost)[0]; snippingToolProcess.EnableRaisingEvents true; snippingToolProcess.Exited SnippingToolProcess_Exited;SnippingToolProcess_Exited 事件private void SnippingToolProcess_Exited(object? sender, EventArgs e) {this.BeginInvoke(new Action(() {var img Clipboard.GetImage();})); }References[1] flameshot: https://github.com/flameshot-org/flameshot[2] CSkin: http://www.cskin.net/[3] HandyControl: https://handyorg.github.io/handycontrol/extend_controls/screenshot/[4] ScreenCapturerSharp: https://www.nuget.org/packages/ScreenCapturerSharp[5] 启动屏幕截取 - UWP applications: https://learn.microsoft.com/zh-cn/windows/uwp/launch-resume/launch-screen-snipping
http://www.zqtcl.cn/news/668992/

相关文章:

  • 如何把旅行社网站做的好看网站创建方案怎么写
  • 织梦网站图标更换宠物网页设计图片
  • 如何查找网站竞争对手的宣传方式北京网站搭建公司电话
  • 北京正规制作网站公司wordpress 获取图片地址
  • 大学路网站建设推广图片素材
  • wordpress 创建网站搜索引擎优化代理
  • 设计网站用什么软件盈江城乡建设局网站
  • 网站建设模式有哪些内容seo品牌
  • 衡水做网站服务商济南如何挑选网站建设公司
  • 全屏的网站制作企业网站欢迎界面素材
  • 视频网站切片怎么做网站建设可自学吗
  • 本地推广平台网站seo优化如何做
  • 网站建设费算费用还是固定资产百度秒收录
  • 企业建站系统营销吧tt团队韩国企业网站设计
  • 上海嘉定网站建设公司有没有知道网址的
  • 电商网站的银行支付接入该怎么做杭州微信小程序外包
  • 余姚网站推广策划案门户网站做等保需要备案哪些
  • 网站关键字优化公司wordpress制作百度地图xml
  • 网站建设进度总结网站文件权限设置
  • 织梦网站如何做地区分站厦门网站代理
  • 模板做网站优缺点网络营销推广公司获客
  • 如何做网站充值用flash做网站超链接
  • 网站图片管理系统临沂百度推广多少钱
  • 渭南建设用地规划查询网站教育局两学一做网站
  • 无锡专业网站制作的公司长春seo技术
  • 东莞做网站哪家最好电商网站支付接口
  • 西安火车站网站建设深圳做百度网站
  • asp网站助手金融学类就业方向及就业前景
  • 用点心做点心官方网站现在手机网站用什么做的好
  • 唐山市路桥建设有限公司网站专门写文章的网站