摘要:
Nuget包版本号和我们软件应用版本号一样,不过因为稳定性等的考虑,组件版本有更高的要求。预发布版本使用频率更高 版本号介绍,详见我朋友胡承老司机的博客:Nuget包的版本规范 (qq.com) 我这里加一个preview版本,在我这团队用的最多。按排序的话: Alpha 版本:-alpha 后缀, 阅读全文
摘要:
呆了2个大屏行业的公司,对大屏幕有一些了解,所以整理下所了解的触摸屏相关概念。方便自己以及进入这个行业的小伙伴们,能有个系统、快速的认知。 触摸屏详细的知识点,网上其实都有。整理资料过程中,我也了解了更多的触摸屏知识,像声波屏、光学屏之类的之前就没接触。下面分不同的模块,给大家介绍 交互触摸屏类型 阅读全文
摘要:
WPF应用程序,在VS的项目属性中,可以设置输出类型: 那我们在代码中,如何判断应用的类型呢。有没有控制台?是否Windows应用程序还是控制台应用程序? Kernel32下函数GetConsoleWindow可以解决这个问题: [DllImport("kernel32.dll")] private 阅读全文
摘要:
1. Costura.Fody 引用后,未能正常合并资源文件。用着用着就不行了 解决方案:在csproj所在的文件目录,找到FodyWeavers.xml,添加<Costura/> 1 <Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst 阅读全文
摘要:
窗口标题、窗口类名、是否可见、是否最小化、窗口位置和大小、窗口所在进程信息 1 private static WindowInfo GetWindowDetail(IntPtr hWnd) 2 { 3 // 获取窗口类名。 4 var lpString = new StringBuilder(512 阅读全文
摘要:
我们需要给应用添加数字签名,比如沃通、DigiCert。 申请购买代码签名证书需要一段时间,或者个人开发的应用签名,所以我们需要临时证书。 打开VS-工具-命令行,下面是添加过程 1. 创建一个测试证书 makecert -r -pe -n "CN=Test Certificate - For In 阅读全文
摘要:
编译后遇到nuget版本冲突: error CS0433: 类型“ShellFile”同时存在于“Microsoft.WindowsAPICodePack.Shell, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 阅读全文
摘要:
计数器、WMI 获取设备的内存信息,如系统可用运行内存: 1 public static async Task<double> GetMemoryAvailableAsync(FileSizeUnit fileSizeUnit = FileSizeUnit.GB) 2 { 3 return awai 阅读全文
摘要:
开发的软件安装后,windows上提示病毒,默默被系统删除了。 一开始以为是自己软件的签名问题,后面发现,将被隔离的文件还原,文件的签名是存在的。 这是微软denfender的误报,为啥会报病毒呢? emmm,这个Entry.exe是作为应用版本的启动入口。 启动了太多的应用,就被安全中心识别成流氓 阅读全文
摘要:
闭包、弱引用的简单概念,大佬们描述的很多,有不了解的可以看看: 理解C#中的闭包 - 黑洞视界 - 博客园 (cnblogs.com) C#弱引用(WeakReference) - 简书 (jianshu.com) 组里小伙伴报了个BUG,定义的封装事件DeviceDown不生效了 瞅了下,貌似没啥 阅读全文
摘要:
我们都知道路由事件,而附加路由事件用的比较少。 但如果是通用的场景,类似附加属性,附加事件就很有必要的。 举个例子,输入设备有很多种,WPF中输入事件主要分为鼠标、触摸、触笔:WPF 屏幕点击的设备类型 - 唐宋元明清2188 - 博客园 (cnblogs.com) 有这么多输入事件Mouse、To 阅读全文
摘要:
今天看书,上面介绍implicit和explicit相对冷门,用的较少。 这个implicit类型虽然冷门,但真的很有用。我在自己的项目里就用了这个 上Demo, 1 public partial class MainWindow : Window 2 { 3 public MainWindow() 阅读全文
摘要:
问题描述 我这里有个进程间通信组件,用于提供多应用间通信的解决方案。 进程间通信,分为客户端和服务端,俩端肯定会有些共性代码,所以加了个H3C.Channel.Core项目 因为之前还不太了解nuget这块,然后我就踩到了坑: 引用H3C.Channel.Client包后,H3C.Channel.C 阅读全文
摘要:
笔迹擦除是白板软件的核心功能,擦除是以固定形状对笔迹进行碰撞测试,如有相关则分割Stroke线条。 擦除区域与橡皮大小不一致 测试反馈,擦除区域与真实的橡皮大小不一致: 上图中,橡皮显示是圆形的,但擦除效果是一个“8边形”区域。 找了一台8K屏,确实是能复现的: 看到这个诡异的8边形,一开始我是以为 阅读全文
摘要:
获取系统已安装的.NET版本,来确定当前应用可运行的环境。 微软已经有相应的完整文档,请参考:确定已安装的 .NET Framework 版本 - .NET Framework | Microsoft Docs Release根据文档描述是版本密钥,应该是类似版本构建号,能够判断是否已安装.NET。 阅读全文