随笔分类 - C#
C#
摘要:你发现了一个很常见的编码问题。System.Text.Encoding.GetEncoding("utf-8") 默认情况下会使用带有BOM(Byte Order Mark,字节顺序标记)的UTF-8编码。BOM在某些场景下会导致问题,比如命令行显示乱码。 问题分析 UTF-8 vs UTF-8-B
阅读全文
摘要:查看运行中的IIS程序池名称 c:\windows\system32\inetsrv\appcmd list wp 找出对应的站点。进行针对性处理
阅读全文
摘要:using System; using System.Net.Http; using System.Text; using System.Collections.Generic; using System.Threading.Tasks; using System.Threading; public
阅读全文
摘要:VS 2017 项目文件不完整,缺少预期导入 输入: dotnet --info 缺少 .NET Core 2.0 运行时支持。安装:dotnet-runtime-2.0.0-win-x64.exe C:\Users\Jimmy>dotnet --info .NET Core SDK(反映任何 gl
阅读全文
摘要:文件“D:\XXX ”正由另一进程使用,因此该进程无法访问此文件。 File.Copy(sourceFileName, destFileName, true); 这个错误表明在尝试复制文件时,源文件正被另一个进程锁定/占用,导致无法访问。以下是可能的原因和解决方案: 可能原因 文件仍被上传进程占用:
阅读全文
摘要:FileStream和FileInfo只能处理本地文件路径,无法直接处理HTTP URL。以下是几种实现远程PDF返回给前端的解决方案: 方案1:使用HttpClient下载远程文件(推荐) [HttpGet] public async Task<HttpResponseMessage> GetRe
阅读全文
摘要:C# 禁止拖拽标题栏、禁止最大化、最小化 protected override void WndProc(ref Message m) { if (m.Msg == 0x112) { switch ((int)m.WParam) { //禁止双击标题栏关闭窗体 case 0xF063: case 0
阅读全文
摘要:需要更新UI,则用 this.BeginInvoke this.BeginInvoke(new Action(() => { GetUserList(); })); 不需要更新UI,则可以用异步线程 Task.Run(() => GetUserList();); 1. 外部代码本身就在 UI 线程中
阅读全文
摘要:通过重写 CreateParams 属性,启用窗口的 WS_EX_COMPOSITED 样式,从而优化窗口的绘制性能,减少闪烁 namespace VipSoft.ClientForm { public partial class DemoFrm : Form { public DemoFrm()
阅读全文
摘要:程序在预警时,会发出报警音,当报警音频播放时间,超过预警频率时,就会像我们打印文档一样,像打印机发送10次打印任务。当打出第1张纸的时候,这时候想取消打印。就不能在电脑端通过软件操作了。因此为了避免这种事情发生,就只有等打印机打完一张,再发下一个任务。这样的话,可以随时发起取消打印任务。 如果实现在
阅读全文
摘要:在C# WinForms中,虽然没有像WPF那样内置的双向绑定机制,但你可以通过事件和属性封装来实现类似的功能。具体来说,你可以在静态属性的set访问器中触发一个自定义事件,然后在需要的地方订阅这个事件,以便在属性值发生变化时执行相应的操作。 全局状态的隐患 问题:静态类和静态事件引入了全局状态,这
阅读全文
摘要:在C#的WinForms应用程序中,Panel控件本身不直接支持绘图功能,因为它不是一个绘图控件。不过,你可以通过在Panel上覆盖(override)OnPaint方法或者使用Graphics对象来在Panel上绘制图形。下面是如何实现这两种方法的示例: 先添加控件,再设置控件属性 Panel 在
阅读全文
摘要:https://github.com/naudio/NAudio NAudio 是一个开源的 .NET 音频库,由 Mark Heath 开发,开源地址:https://github.com/naudio/NAudio 支持多种音频操作,可实现多种API播放与录制、多种不同音频格式、音频格式转换(重
阅读全文
摘要:C# 钩子 捕获键盘鼠标所有事件,可用于:判断鼠标键盘无操作时,关闭 Winform 窗体 5分钟没有操作,自动关闭 Form 窗体 钩子(Hook)的作用主要体现在监视和拦截系统或进程中的各种事件消息,并进行自定义处理。钩子可以截获并处理相应的消息,例如键盘钩子可以截获键盘消息,外壳钩子可以截取、
阅读全文
摘要:用钩子处理比较好:https://www.cnblogs.com/vipsoft/p/18668517 C#中WndProc(ref Message m)是Control类中的方法,用来处理Windows消息。通过重写这个方法,你可以捕获和处理操作系统发送到窗体的各种消息,如按键、鼠标事件、绘制请求
阅读全文
摘要:目录添加控件(拖拽方式)设置控件添加主窗体事件实现双击托盘打开主程序代码方式添加系统开机自启动应用程序 实现步骤 创建 NotifyIcon 控件并设置属性; 编写 NotifyIcon 响应控制事件; 在主窗体的Load事件中将 NotifyIcon 添加到系统托盘; 程序退出时,移除系统托盘的
阅读全文
摘要:StackExchange.Redis RedisHelper 工具类 Install-Package StackExchange.Redis using Microsoft.Extensions.Configuration; using StackExchange.Redis; using Sys
阅读全文
摘要:C# 调用 exe 输出日志 ProcessStartInfo using System; using System.Diagnostics; using NLog; class Program { static void Main() { ProcessStartInfo startInfo =
阅读全文
摘要:C# 创建 WindowsService 服务项目 空白处,右键选择“添加安装程序” 可以看到两个控件,点击右击第一个控件,打开属性设计器,将其中的Account设置为LocalSystem(本地服务), 接下来,右击上面的第二个控件,打开属性界面,设置ServiceName,和将其中的StratT
阅读全文
摘要:出现错误,无法启动 Visual Studio System.InvalidOperationException: Controller terminated before accepting connections. Exit Code:9 (NodeInvalidArgument) 解决办法 环
阅读全文
浙公网安备 33010602011771号