一:背景 1. 讲故事 上一篇我们说到了 minhook 的一个简单使用,这一篇给大家分享一个 minhook 在 dump 分析中的实战,先看下面的线程栈。 0:044> ~~[138c]s win32u!NtUserMessageCall+0x14: 00007ffc`5c891184 c3 r ...
为什么要学习linq :使处理数据变得简单 需求: 统计一个字符串中每个字母出现的频率(忽略大小写),然后按照从高到低的顺序输出出现频率高于两次的单词和其出现的频率 var items = s.Where(c => char.IsLetter(c))//过滤非字母 .Select(c => char ...
一、有什么用? 问:现在这个年代哪些场景还需要GDI+? 答:很少,主要是在上位机,复杂一点的自定义控件几乎全由GDI+绘制而成。而且很多工业设备的电脑性能差,WPF等带不起来,只能是Winform。 问:本系列文章的对于GDI+掌握有什么帮助? 答:这是一个完整的完全由GDI+实现的复杂程序,对于 ...
前言 在之前的系列文章中,我们已经搭建了基本的硬件平台和软件架构,但有一个问题一直困扰着我:当做好一个差不多的机器人带到新环境时,如何让它连接到新环境的WiFi网络呢? 传统的做法可能需要连接键盘鼠标,显示器,然后进行可视化界面操作,这在实际应用中非常不便。于是我就想着用.NET技术解决这个痛点,实 ...
我让DeepSeek帮我写了一段使用 CancellationTokenSource 取消任务的简单示例如下: 取消任务的简单示例 using System.Threading.Tasks; using System.Threading; public async Task Test() { var ...
最近碰到一个Html转PDF的需求,看了一下基本上都是需要依赖Wkhtmltopdf,需要在Windows或者linux安装这个可以后使用。找了一下选择了HtmlToPDFCore,这个库是对Wkhtmltopdf.NetCore简单二次封装,这个库的好处就是通过NuGet安装HtmlToPDFCo ...
老周不经意间翻了一下博客列表,上一篇水文竟然在 一个月前。啊,大海啊,全是水;时间啊,你跑得真快!过了一个月老周竟没感觉出来,可是这一个月里,好像啥事也没干成,就改了一下几个旧项目。也许是现在大环境真的不好,新项目不好找。新的活有是有,比较简单,却很奇怪,比那货难的项目都做过,偏偏这货没头绪。这东西 ...
前言 自从.NET Framework 3.5提供了LINQ之后,集合数据查询基本被LINQ统一了。这大幅提高了编写数据查询代码的效率和质量,但是在需要编写动态查询的时候反而很困难,特别是最常用的where和order by子句,他们的参数是Expression。编写静态查询的时候编译器会自动把代码 ...
流程节点附件设置 WikeFlow官网:http://www.wikesoft.com 有些流程要求某些节点必须上传附件。 你只需要在流程节点中配置附件的Key,附件名称,是否必传。 如下图: 文件存储 附件会上传到应用根目录下面的Upload文件夹下面。 流程引擎如何调用上传 FileUpload ...
中间件引起的接口请求参数被拦截,导致参数一直是null,这问题困扰了我很久,值得记录 1.场景 1.1 客户端使用framework4.8做一个接口请求发送: public static class ApiHelper { private static string Internal_ApiUrl ...
前言 随着工业4.0和智能制造的发展,工业视觉在质检、定位、识别等场景中发挥着越来越重要的作用。然而,开发一个完整的工业视觉系统往往需要集成相机控制、图像采集、图像处理、AI推理、PLC通信等多个模块,这对开发人员提出了较高的技术要求。 推荐一个基于 .NET 平台的开源工业视觉软件框架OpenIV ...
关于多线程本质的思考和使用技巧 前言 近来,公司因为项目过多,人手不足,一直在进行面试。过程中同事总是问道:多线程是什么,谈谈你对多线程的理解?以我愚见,这并不是一个可以在面试中快速回答的问题,如果面试的时候向我提问,我觉得我无法有条理的回答这个问题。因此,以总结多线程开发为目标,我写下这篇笔记 ...
一:背景 1. 讲故事 当 .NET程序 在Linux上崩溃时,我们可以配置一些参考拿到对应程序的core文件,拿到core文件后用windbg打开,往往会看到这样的一句信息 Signal SIGABRT code SI_USER (Sent by kill, sigsend, raise),参考如 ...
有小伙伴反馈,System.Text.Json使用的序列化问题,经了解是System.Text.Json不兼容System.Runtime.Serialization.DataMemenber属性标记 来个demo, 1 var testMode = new TestMode(); 2 testMo ...
前置 已安装node.js,可使用npm 仅适用于目前的4.x(我使用的是4.1)。 基于.net 10 preview-4 Blazor Server Webapp 默认模板,但是这个关系不大。 安装 在根目录安装tailwindcss cli npm install tailwindcss @t ...
简单说说C#中委托的使用-01 前言 距离上次更新文章,已经过去...月了。 没更新文章的主要原因,主要是因为参加工作后,感觉思维没有上学那会活跃,写文章没有思绪。再就是上班的时候把精力用光了,下班后只顾着打游戏,没有恢复精力和学习。 在公司网上冲浪的时候,看到了一篇讲解C#委托的文 ...
客户反馈无法正常启动软件,提示异常: [WinError 14001] 应用程序无法启动,因为应用程序的并行配置不正确。有关详细信息,请参阅应用程序事件日志,或使用命令行 sxstrace.exe 工具。 远程查看异常事件日志,发现是App.config配置文件损坏: 我们打开安装目录下这个配置文件 ...
这里只贴出支付的操作,如果 需要其它方法(退款、查询 、关闭订单等)可以发邮件9067874006@qq.com。 需要准备的参数 AppID(小程序ID):wx7405 9e7d B2B商户号:17 637 沙箱AppKey:NYf9s TvgXGCVqf 或 现网AppKey:HcRiLtJa ...
在定位 .NET 应用程序中的高 CPU 占用问题时,WinDbg 是非常强大的工具之一,尤其配合 SOS 扩展使用可以快速锁定“忙线程”或死锁等问题。 本文将基于一次实际的分析流程,演示如何一步步定位由线程锁引起的 CPU 高占用。 1. 加载 SOS 扩展(针对 .NET) 首先,我们需要加载 ...
一:背景 1. 讲故事 本来想研究一下 IL编织和反向补丁的相关harmony知识,看了下其实这些东西对 .NET高级调试 没什么帮助,所以本篇就来说一些比较实用的反射工具包吧。 二:反射工具包 1. AccessTools AccessTools这个工具包用来简化反射操作,你如果看过 harmon ...