随笔分类 -  Windows应用开发 / .NET

上一页 1 2 3 4 5 6 ··· 8 下一页
摘要:白板软件书写速度是其最核心的功能,注册StylusPlugin从触摸线程拿触摸点数据并在另一UI线程绘制渲染是比较稳妥的方案,具体的可以查看小伙伴德熙的2019-1-28-WPF-高性能笔 - lindexi - 博客园 (cnblogs.com) 上面StylusPlugin方案能提升在大屏目前如 阅读全文
posted @ 2024-10-10 20:33 唐宋元明清2188 阅读(914) 评论(3) 推荐(8)
摘要:使用AppContext.SetSwitch(AppContextSwitchOverrides 元素 - .NET Framework | Microsoft Learn),开启Pointer消息: 1 public partial class App : Application 2 { 3 pu 阅读全文
posted @ 2024-10-10 14:57 唐宋元明清2188 阅读(145) 评论(0) 推荐(0)
摘要:触摸书写延迟,是触摸屏很核心的参数。从用户在触摸屏上进行触控操作到设备作出响应之间的时间差,这个延迟高低会影响快速反应的应用场景使用如白板书写、玩游戏。 而触摸延迟主要影响因素有:触摸框报点率、软件框架延时(用于触摸数据接收、线程切换)、软件业务逻辑处理 我们这里介绍下触摸框报点率 Touch Re 阅读全文
posted @ 2024-10-10 14:06 唐宋元明清2188 阅读(917) 评论(12) 推荐(5)
摘要:我们运行Windows应用,经常需要管理员权限去读写系统文件、外设设备。以管理员权限启动应用可以参考:C# 程序管理员权限启动 - 唐宋元明清2188 - 博客园 (cnblogs.com) 进入程序后,我们判断当前是否管理员以规避一些其它入口的场景 使用 WindowsIdentity 和 Win 阅读全文
posted @ 2024-09-30 16:19 唐宋元明清2188 阅读(148) 评论(0) 推荐(0)
摘要:本文为大家介绍下.NET解压/压缩zip文件。虽然解压缩不是啥核心技术,但压缩性能以及进度处理还是需要关注下,针对使用较多的zip开源组件验证,给大家提供个技术选型参考 之前在《.NET WebSocket高并发通信阻塞问题 - 唐宋元明清2188 - 博客园 (cnblogs.com)》讲过,团队 阅读全文
posted @ 2024-09-06 21:34 唐宋元明清2188 阅读(980) 评论(6) 推荐(1)
摘要:项目上遇到使用WebSocket超时问题,具体情况是这样的,OTA升级过程中,解压zip文件会有解压进度事件,将解压进度通过进程通信传给另一进程,通信提示超时异常 小伙伴堂园发现大文件使用Zip解压,解压进度事件间隔竟然是1ms,简直超大频率啊 但是,解压事件超频也不应该通信异常啊,于是我通过1ms 阅读全文
posted @ 2024-09-04 18:08 唐宋元明清2188 阅读(1670) 评论(2) 推荐(10)
摘要:本文主要介绍摄像头(相机)如何采集数据,用于类似摄像头本地显示软件,以及流媒体数据传输场景如传屏、视讯会议等。 摄像头采集有多种方案,如AForge.NET、WPFMediaKit、OpenCvSharp、EmguCv、DirectShow.NET、MediaCaptre(UWP),网上一些文章以及 阅读全文
posted @ 2024-08-29 20:46 唐宋元明清2188 阅读(2760) 评论(9) 推荐(19)
摘要:大屏Windows设置网卡开启热点后,经常收到反馈,手机端无法搜索到大屏热点、或者手机连接大屏热点失败 这类问题一般有以下几类情况: 1. 物理网卡IP与热点网卡IP相同 2. 热点网卡IP,非正常热点IP(192.168.137.X) 热点IP我们一般定为192.168.137.X,192.168 阅读全文
posted @ 2024-08-27 00:16 唐宋元明清2188 阅读(598) 评论(1) 推荐(4)
摘要:本文介绍Windows下声音数据的采集,用于本地录音、视讯会议、投屏等场景 声音录制有麦克风、扬声器以及混合录制三类方式,麦克风和扬声器单独录制的场景更多点,混合录制更多的是用于本地录音 我们基于NAudio实现,开源组件NAudio已经很稳定的实现了各类播放、录制、转码等功能,WaveIn,Wav 阅读全文
posted @ 2024-08-24 21:15 唐宋元明清2188 阅读(994) 评论(6) 推荐(4)
摘要:本文主要介绍WPF应用对鼠标输入、触摸屏触笔以及触摸事件的封装 之前有简单说明设备输入类型 WPF 屏幕点击的设备类型 - 唐宋元明清2188 - 博客园 (cnblogs.com) 1、鼠标 - 通过Mouse相关的事件参数MouseButtonEventArgs中的数据,e.StylusDeci 阅读全文
posted @ 2024-08-22 19:02 唐宋元明清2188 阅读(549) 评论(4) 推荐(3)
摘要:我们.NET开发会引用很多外部Nuget包,多项目、多个解决方案、甚至多个仓库。 简单的Nuget包管理,通过VS就能比较简单处理好。但复杂的场景呢,比如: 1.一个仓库里,有多个解决方案的Nuget包管理 -- 我现在项目就是这样的,针对会议大屏的全家桶软件集代码仓库。这个仓库里,接近30个工具/ 阅读全文
posted @ 2024-08-16 21:27 唐宋元明清2188 阅读(2137) 评论(6) 推荐(14)
摘要:窗口/屏幕截图适用于截图、批注等工具场景,时时获取窗口/屏幕图像数据流呢,下面讲下视频会议共享桌面、远程桌面这些场景是如何实现画面录制的。 常见的屏幕画面时时采集方案,主要有GDI、WGC、DXGI。 GDI GDI(Graphics Device Interface)就是使用user32下Wind 阅读全文
posted @ 2024-08-09 21:30 唐宋元明清2188 阅读(2458) 评论(5) 推荐(22)
摘要:图像采集源除了显示控件(上一篇《.NET 控件转图片》有介绍从界面控件转图片),更多的是窗口以及屏幕。 窗口截图最常用的方法是GDI,直接上Demo吧: 1 private void GdiCaptureButton_OnClick(object sender, RoutedEventArgs e) 阅读全文
posted @ 2024-07-30 14:38 唐宋元明清2188 阅读(1291) 评论(2) 推荐(4)
摘要:Windows应用开发有很多场景需要动态获取控件显示的图像,即控件转图片,用于其它界面的显示、传输图片数据流、保存为本地图片等用途。 下面分别介绍下一些实现方式以及主要使用场景 RenderTargetBitmap 控件转图片BitmapImage/BitmapSource,在WPF中可以使用Ren 阅读全文
posted @ 2024-07-26 17:08 唐宋元明清2188 阅读(1059) 评论(2) 推荐(7)
摘要:做.NET应用开发肯定会用到网络通信,而进程间通信是客户端开发使用频率较高的场景。 进程间通信方式主要有命名管道、消息队列、共享内存、Socket通信,个人使用最多的是Sokcet相关。 而Socket也有很多使用方式,Socket、WebSocket、TcpClient、UdpClient,是不是 阅读全文
posted @ 2024-07-25 11:16 唐宋元明清2188 阅读(1681) 评论(2) 推荐(14)
摘要:Windows应用软件开发,会有很多常用的模块,比如数据库、配置文件、日志、后台通信、进程通信、埋点、浏览器等等。下面是目前我们公司windows梳理的部分组件,梳理出来方便大家了解组件概念以及依赖关系: 每个应用里,现在或者以后都可能会存在这些模块。以我团队开发的全家桶为例,十多个应用对后台访问, 阅读全文
posted @ 2024-06-14 19:29 唐宋元明清2188 阅读(490) 评论(0) 推荐(3)
摘要:windows字符编码 不同语言下有不同编码 Encoding.CodePage Property (System.Text) | Microsoft Learn 公司大屏反馈有U盘乱码问题,发现修改系统的语言、地区,并不会同步修改编码。 编码可以手动修改,在Win11系统设置-时间和语言-管理语言 阅读全文
posted @ 2024-04-02 21:26 唐宋元明清2188 阅读(279) 评论(0) 推荐(1)
摘要:触摸等快速移动WPF元素时,因元素无法跟上元素移动速度,后续的移动事件无法触发导致移动操作停顿。 这时候调用CaptureMouse捕获设备焦点,就可以支持设备快速移动操作。 设备输入有三种鼠标、触笔、触摸,所以对应的设备焦点捕获也有三类:CaptureMouse、CaptureStylus、Cap 阅读全文
posted @ 2024-02-24 16:54 唐宋元明清2188 阅读(249) 评论(0) 推荐(1)
摘要:在C#中,进行JSON序列化和反序列化有多种方案可供选择,常用的是下面俩个 System.Text.Json:这是.NET Core和.NET 5中内置的JSON序列化和反序列化库,提供了高性能和低内存消耗的JSON处理能力。 Newtonsoft.Json:这是一个流行的第三方JSON处理库,广泛 阅读全文
posted @ 2024-01-25 16:43 唐宋元明清2188 阅读(307) 评论(0) 推荐(2)
摘要:windows大屏使用场景,关闭显示器是一个常用操作。 操作系统提供了相应的API,应用层调用: 1 //广播消息,所有顶级窗体都会接收 2 private static readonly IntPtr HWND_BROADCAST = new IntPtr(0xffff); 3 //系统消息 4 阅读全文
posted @ 2024-01-24 17:19 唐宋元明清2188 阅读(214) 评论(0) 推荐(2)

上一页 1 2 3 4 5 6 ··· 8 下一页