会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
yangtb
博客园
首页
新随笔
联系
订阅
管理
2025年9月10日
WPF:在Window.Closing事件中抛出未处理的异常导致e.Cancel失效
摘要: 在WPF中,一种很常规的阻止窗口关闭按钮的方式,就是注册Window.Closing事件,然后在事件处理函数中设置e.Cancel=true。但是,在实践中,我遇到了这样设置不生效的情况,经过排查发现是由于Closing的事件处理函数中抛出了异常。虽然这个未处理的异常最后被全局异常处理函数捕获到了,
阅读全文
posted @ 2025-09-10 18:02 昏睡红猹
阅读(17)
评论(1)
推荐(0)
2025年9月5日
Windows集成笔设备
摘要: Windows集成笔设备一般是指屏(数字化仪/笔数字化转换器)和笔(笔传感器)构成的整体。屏、笔、主机之间的连接包含了屏与笔的连接、屏与主机的连接、笔与主机的连接,集成笔的主要功能由屏与笔的连接和屏与主机的连接来实现,笔与主机的连接可以实现一些可选的扩展功能。 屏与主机的连接 屏通过USB或I2C或
阅读全文
posted @ 2025-09-05 13:35 昏睡红猹
阅读(210)
评论(1)
推荐(0)
HLK测试入门
摘要: 1 在服务器上安装HLK Controller和HLK Studio HLK Controller只能安装在英文版的Windows Server系统中 HLK Studio可以安装在任何系统中,单独安装HLK Studio时,只能进行查看测试结果,创建/合并Package等操作,无法进行HLK测试
阅读全文
posted @ 2025-09-05 10:09 昏睡红猹
阅读(128)
评论(1)
推荐(0)
2025年9月1日
使用VHF框架实现一个虚拟HID键盘
摘要: 前几天我通过改造微软的vhidmini2这个驱动示例,写了一个umdf的虚拟hid键盘,然后我发现,微软还提供了一个叫Virtual Hid Framework(VHF)的框架,专门用来实现虚拟hid设备,在kmdf和umdf上都支持(文档这么说的),所以就想着用VHF来重写一下上次的那个虚拟hid
阅读全文
posted @ 2025-09-01 18:32 昏睡红猹
阅读(380)
评论(2)
推荐(4)
2025年8月22日
从0.99到1实现一个Windows上的虚拟hid键盘设备
摘要: 在虚拟机、远程控制、或者诸如云电脑之类的应用中,我们经常能够看到虚拟设备的身影。对于初学者来说,从0到1实现一个虚拟设备或许非常困难,但从0.99到1改造一个虚拟设备就简单多了。本文根据微软提供的UMDF版本HID minidriver的示例代码,稍加改造,将其变成一个虚拟HID键盘设备。 HID
阅读全文
posted @ 2025-08-22 21:01 昏睡红猹
阅读(625)
评论(6)
推荐(4)
2025年8月14日
如何正确使用SetThreadExecutionState来阻止Windows进入睡眠
摘要: 最近产品有个需求,需要在升级的时候阻止Windows系统进入自动睡眠。需求到手后,小搜了一下,搜到SetThreadExecutionState这个函数,相关的博客挺多,官方文档也挺清晰,想必应该是手拿把掐了,结果没想到连续踩了好几个坑。现在,我就把SetThreadExecutionState的基
阅读全文
posted @ 2025-08-14 18:11 昏睡红猹
阅读(388)
评论(1)
推荐(6)
2025年8月11日
记一次C#平台调用中因非托管union类型导致的内存访问越界
摘要: 离奇现象 大家在C#代码中有没有遇到过这样的问题:一个局部变量,上一秒还是非null的,下一秒就变成null了,中间只调用了一个非托管函数。 我前几天就遇到了这样的问题,问题代码长这样: private static PropVariant GetProperty(Window window, Pr
阅读全文
posted @ 2025-08-11 15:26 昏睡红猹
阅读(852)
评论(8)
推荐(15)
2025年7月8日
我在厂里搞wine的日子
摘要: 之前工作中搞过一段时间的wine,主要是解决一些第三方应用的安装或运行问题,后面好长时间没搞了,有次电脑出问题重装系统的时候整理文档,发现之前还写过一些日志,于是找时间把日志粗略整理了一下,分享出来供大家批评参考。 InkRecognizer不工作(COM组件/注册表缺失问题) 问题描述 希沃白板的
阅读全文
posted @ 2025-07-08 16:06 昏睡红猹
阅读(2373)
评论(13)
推荐(10)
2025年7月7日
C#脚本化(Roslyn):如何在C#脚本中引入nuget包
摘要: 假设我们开发了一个C#脚本编辑器,利用Roslyn去执行用户所编写的脚本。这时候,如果用户想要引用一个nuget包,应该如何实现呢? 我们想要引用nuget包的话,只要能得到nuget包及其依赖包的所有程序集和资源文件就可以了。如何引用程序集,可以看这一篇:使用Roslyn脚本化C#时如何调用不包含
阅读全文
posted @ 2025-07-07 16:47 昏睡红猹
阅读(1243)
评论(5)
推荐(9)
2025年7月2日
C#:从反编译的代码来看record类型
摘要: 从C#9开始,可以使用record关键字来定义一个具有不可变属性的引用类型,编译器会为该类型生成大量的模板代码。C#10以后,record struct用来定义值类型,record class或record用来定义引用类型。 record(C# reference)这篇官方的文档中,介绍了recor
阅读全文
posted @ 2025-07-02 14:00 昏睡红猹
阅读(350)
评论(0)
推荐(5)
下一页
公告