- 博客(14)
- 资源 (4)
- 收藏
- 关注
原创 C#对Bios进行读写,读写GPIO,CMOS,WinIo使用和避坑
winIo可以被多个进程加载,但是某个进程InitializeWinIo之后不释放的话,其他其他进程用使用的时候调用ShutdownWinIo之后就无法InitializeWinIo,使用的时候可以使用进程锁进行锁住,用完需要尽快释放。WinIo的.sys文件需要签名才可以使用,不签名的话需要进入测试模式可以调试使用,进入测试模式命令cmd bcdedit.exe /set TESTSIGNING ON。使用WinIo的应用被以为Kill掉的话.sys无法释放会删除不了,因此用完要立即释放资源。
2025-12-25 11:18:09
98
原创 异步编程,相关锁的介绍---Mutex进程锁
微软文档: https://learn.microsoft.com/zh-cn/dotnet/api/system.threading.mutex.-ctor?.Net5之前或者.net Framework的Mutex构造函数直接可以传入MutexSecurity ,用于解决「管理员进程创建的 Mutex,普通进程无法访问」的问题,避免 UnauthorizedAccessException。使用场景:进程内独占硬件设备访问, 进程内独占文件访问, 进程内独占数据库连接,进程独占某个系统IO资源。
2025-12-22 15:10:46
554
原创 Windows Service服务启用普通权限的WPF应用
在Windows系统中,服务通常运行在System权限下,而用户应用程序需要运行在普通用户权限下。当我们需要从服务中启动一个具有UI界面的用户应用程序时,就需要使用特殊的权限提升技术。本文将详细介绍这一过程的关键流程和技术要点。之前写的其他开机自启动的方法:https://blog.youkuaiyun.com/PWJvie/article/details/144785724?
2025-12-22 15:08:10
340
原创 异步编程--死锁的四个必要条件详解
在 C# / .NET 里,死锁的“四个必要条件”其实很好理解,把它们看成导致“互相卡住”的四块拼图——四块都存在时,才会真的卡死。在 Method1 中,线程先 lock (_lockA),在持有 A 的同时又 lock (_lockB),典型的“占有且等待”。如果一个资源可以被多个线程同时使用(比如只读资源、纯函数),线程之间就不会因为“抢资源”而卡住,也就不会形成死锁。理论上,如果系统能“看你占着厕所不干事,就强制踢你出来”,就能打破死锁;不可抢占意思是:线程持有的资源不能被强制剥夺,只能主动释放。
2025-12-21 22:29:15
748
原创 异步编程---异步取消机制CancellationToken
本质上,CancellationToken 只是一个信号——一个轻量级对象,用于告知异步代码:“该停止了。如果你仍以“没有取消令牌也能运行”为由跳过它们,那你写的就不是健壮的异步代码——你写的是为所欲为的代码。你创建源对象,从中获取令牌,并将令牌传递给任何需要支持取消的方法。几乎所有规范的 .NET API 都接受可选 CancellationToken 参数,这意味着你的方法也应该如此。理解取消机制不仅是编写防御性代码,更是编写专业代码:尊重用户时间、节约系统资源、在压力下保持可预测行为。
2025-12-19 15:13:59
525
原创 异步编程,相关锁的介绍,SemaphoreSlim 信号量
SemaphoreSlim:本质是计数信号量,仅管理 “可用计数”,不校验 Wait/Release 是否在同一线程(Release 只做计数 + 1,不管是谁调用。
2025-12-19 15:11:10
845
原创 C#实现Windows粘贴板,复制多种格式图片
DataFormats.Dib 设备无关位图 Office 系列(Word/Excel)DataFormats.Html HTML 格式(包含图片路径) 富文本编辑器、网页编辑器。DataFormats.Bitmap 标准位图格式 系统画图、WPF 应用。PNG 原始数据 无损图片格式 浏览器、设计工具。DataFormats.FileDrop 文件路径列表 资源管理器、文件编辑器。
2025-12-04 11:42:22
266
原创 多种 Windows 下设置开机自启程序的方法及示例
在 Microsoft.Win32.TaskScheduler.TaskFolder.RegisterTaskDefinition(String path, TaskDefinition definition, TaskCreation createType, String userId, String password, TaskLogonType logonType, String sddl)也可以在添加账户或者移除账户的时候触发任务。是一个非常灵活的开机启动方式。可以设置多种运行时机。
2024-12-28 17:45:00
5397
原创 如何使用飞书自定义机器人通知消息
大家有没有这样的需求,就是正在执行某个任务的时候希望任务完成之后给个通知,或者是软件运行报错的时候每天定期收集错误日志。平时我们工作用的飞书,所有现在用飞书机器人把消息通知出来,非常简单 好用 的消息通知。拿到Image_key之后就可以,通过自定义机器人的Webhook地址发送图片。C#实现如下,这个webhook真实可用,大家可以拿了玩玩,消息会发到我这里。拿到Token之后调用上传图片的方法,拿到图片的image_key。// 替换为你自己的飞书机器人Webhook地址。
2024-12-28 11:06:54
1779
原创 Windows安全中心误杀,排查项
有些exe和dll会在下载的时候就被windows个杀掉,实际已经签名了还是会被杀掉。如何解决,如下在windows安全中心把你文件的目录添加到排查项即可。
2023-09-08 23:20:06
1509
原创 关于网卡频段设置(设置国家码)
目前英特尔的网卡是支持根据链接的AP的国家码自动切换频段的,而其他USB的网卡如Realtek网卡是不支持切换频段的,需要通过驱动厂商提供的工具和方法设置指定国家码。起因:由于不同国家对应wifi和热点的频率可能会做现在,所有我们wif和ap设备出口到国外需要遵守别国的电波法。比如日本的频段5G频段限制在140频段以下。
2023-09-08 23:00:20
1441
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅