“Windows”标签的文章
带有“Windows”标签的文章共 45 篇,按发布日期从新到旧排列。
-
如何理解 Windows 的会话隔离 ── Session 0・RDP・多用户同时运行
整理 Windows 应用程序开发者容易混淆的「会话」概念。说明服务无法显示 UI 的 Session 0 隔离原因、RDP 连接时会话的行为、命名对象的会话隔离,以及共享 PC・RDS 环境中常见的设计失误,从实务角度解说。
-
防止 Windows 应用程序重复启动 ── 命名 Mutex 与重复执行时的窗口前置
整理业务型 Windows 应用程序的常见需求——「不让同一个应用程序启动两次」——如何用命名 Mutex 来实现。涵盖 Global\ 与 Local\ 命名空间差异在 RDP 环境中的陷阱、拥有线程限制与 AbandonedMutexException、在 SetForegroundWindow 限制下把已有...
-
在 WinForms/WPF 应用中集成 Entra ID 认证 —— MSAL.NET 与 WAM Broker 的实务架构
本文以实务视角整理在 WinForms/WPF 桌面应用中集成 Entra ID(原 Azure AD)认证的步骤:公共客户端的思路、ROPC 被弃用的现状、应用注册、MSAL.NET 的 AcquireTokenSilent 模式、WAM Broker、令牌缓存的持久化,以及导入判断与运维中的坑。
-
业务应用的日期时间与时区 ── 从 DateTime 的陷阱到 UTC 存储原则、测试设计
服务器迁移后时间整整差了 9 个小时、只有海外分支机构的日期会变成前一天——本文从 DateTime 的 Kind 与隐式转换梳理日期时间事故的根本原因。内容涵盖与 DateTimeOffset 的取舍、UTC 存储与 ISO 8601 原则、TimeZoneInfo 与夏令时、和 SQL Server/SQLi...
-
Windows 桌面应用的 UI 自动化测试 ── UI Automation 原理与用 FlaUI 打造不易损坏的测试
本文从 Windows UI Automation 的原理(树结构、AutomationId、控件模式)出发,梳理 WinForms/WPF 应用的 UI 自动化测试。内容涵盖用 FlaUI 实现的最小示例、WinAppDriver 的现状、通过 AutomationId 设计与条件等待让测试不易损坏的方法,以及...
-
WPF 高 DPI 支持──「不是应该对 DPI 很强吗」却仍模糊、渗色的原因与对策
WPF 以 DIP(1/96 英寸)进行布局,从一开始就是 System DPI Aware,但移动到 DPI 不同的显示器时整体会渗色,位图与细线也会模糊。本文从实务角度整理原因判断、.NET Framework 4.6.2/.NET 上的 Per-Monitor DPI 支持声明方式、UseLayoutRou...
-
WinForms 的高DPI支持 - 4K显示器下模糊、错位的原因与实用对策
本文从 DPI 虚拟化与 DPI 感知模式(System Aware / Per-Monitor V2)的角度,整理 WinForms 应用在4K显示器、150%缩放环境下显示模糊、布局错乱的原因,并说明 .NET 与 .NET Framework 各自的配置方法、AutoScaleMode 与设计器的陷阱,以及...
-
Windows 的进程间通信该怎么选 ── 命名管道 / TCP / gRPC / 共享内存 / COM 判断表
整理 Windows 应用程序之间应该如何选择通信方式。用判断表整理命名管道、本地 TCP、gRPC、共享内存、文件对接、COM 各自的优势与陷阱,并从实务角度说明 UI+服务分离・32bit/64bit 桥接・权限边界等常见架构,以及命名管道的实现示例。
-
在 C# 业务应用中使用 SQLite ── WAL 模式、排他控制、防损坏对策、与 EF Core 的取舍
本文整理在 Microsoft.Data.Sqlite 中把 SQLite 嵌入业务 Windows 应用的实务知识:连接字符串与连接池、WAL 模式的原理、SQLITE_BUSY 与写入归并、通过事务提速、类型映射的陷阱、用 VACUUM INTO 备份,以及该在什么场合使用 EF Core。
-
Windows 服务的创建与运维 ── 从任务计划程序的取舍到 BackgroundService 服务化
常驻处理应该做成 Windows 服务,还是任务计划程序就够用?本文整理判断表,以及用 .NET Worker Service(UseWindowsService)创建服务的方法、运行账户、恢复选项、事件日志、安全停止处理,从实务角度梳理投入运维所需的设计。
-
IE 模式之后换成 WebView2 就够了吗 ── ActiveX 无法运行的限制与现实的迁移设计
本文从内部系统的角度,梳理 WebView2 的基本结构、Evergreen 与 Fixed Version 两种分发策略、用户数据文件夹的陷阱、原生与 Web 的联动方式,并在「ActiveX 无法运行」这一限制的前提下,整理出摆脱 IE 模式依赖系统的现实迁移顺序。
-
Windows应用的数据存储位置怎么选 ── SQLite / JSON / 注册表 / Access 判断表
Windows桌面应用的数据该存在哪里、用什么格式保存?本文整理AppData/ProgramData的使用区分,以及SQLite、JSON文件、注册表、Access(.accdb)各自的优势与陷阱,并附判断表,从实务角度讲解防止数据损坏与位数问题等注意事项。
-
任务计划程序的任务不执行、以 0x1 结束 ── 原因排查与安全的运维设计
本文整理 Windows 任务计划程序的执行账户与登录类型、「不管用户是否登录都要运行」的含义、以 0x1 结束的典型原因、启用历史记录、防止多重启动、PowerShell 脚本的正确调用方式,直到把定期执行真正落实到运维上的设计方针。
-
Windows 的 MFC 是什么 —— 维护现有资产所需的基础知识
整理 Microsoft Foundation Classes(MFC)的概要、与 Win32 的关系、应用程序结构、消息映射、Document/View、DDX/DDV,以及维护时需要注意的要点。
-
报废 Windows 电脑前应该做的事 —— 数据清除、账户解绑、备份的实务检查清单
本文整理在报废、转让、出售、归还租赁的 Windows 电脑之前应该做的事,涵盖备份、数据清除、BitLocker、Microsoft 账户、OneDrive、公司账户、开发者电脑特有的敏感信息,以及报废记录留存等要点。
-
委托开发 Windows 应用程序前该梳理的事项
在委托外包开发 Windows 应用程序之前,梳理现有软件改造、设备联动、COM/ActiveX、发布与更新、维护等需要注意的要点。
-
正确处理 Windows 的模拟令牌 ── 线程级权限借用与安全的还原方式
本文围绕 Windows 的模拟令牌,梳理访问令牌、主令牌、线程令牌、模拟级别、RevertToSelf,直至 .NET 的 WindowsIdentity.RunImpersonated,整理在实务中安全处理它们的思路。
-
在 C#(CSharp)中执行 PowerShell 并以对象形式接收结果
本文从实务角度整理如何从 C# 启动 PowerShell,并以 PSObject 而非字符串来接收结果,涵盖 PowerShell SDK、AddCommand、AddParameter、BaseObject、Properties 直至错误处理。
-
用 Pester 完善 PowerShell 测试 ── 让运维脚本不易损坏的实务方法
本文整理用 Pester v5 测试 PowerShell 脚本的实务步骤,涵盖日期处理、文件操作、删除处理、Mock,一直到 CI 执行,帮助安全地打好测试基础。
-
Windows为何演变成如今的样子:从开发者视角看历代Windows的演进
本文从兼容性、稳定性、权限管理、驱动程序、Win32、.NET、信息安全等Windows应用程序开发者的视角,梳理Windows 95到Windows 11的变化,而不是单纯以外观年表的方式呈现。
-
面向Windows应用开发者的CPU设置入门:优先级・亲和性・P核心/E核心
本文面向Windows应用开发者,整理CPU优先级、亲和性、P核心/E核心、节能设置与EcoQoS/Efficiency Mode之间的关系,以及衡量性能、响应性与发热的思路。
-
开发者的奇爱,或者我如何学会停止焦虑并爱上Windows
Windows很麻烦。但这种麻烦,恰恰是因为它是一个长年背负着现实业务的操作系统才会有的麻烦。
-
PowerShell 实用命令合集 —— 积累日常工作中常用的小工具
本文整理 PowerShell 日常工作中常用的实用命令,说明 Measure-Object、Group-Object、Select-String、Compare-Object、Tee-Object、Start-Transcript 等命令的使用场景和时机。
-
PowerShell 脚本进阶 ── 安全地实现日志排查、归档与报表自动化
本文整理了用 PowerShell 脚本安全推进日志排查、CSV 报表、旧日志归档、留存记录,直至任务计划程序执行的实务步骤。
-
PowerShell 命令基础 ── 应先掌握的操作与安全使用方法
为了让 PowerShell 初学者在实际工作中不会迷失方向,本文整理了如何查找 Cmdlet、管道、文件操作、CSV 处理、执行策略,以及避免事故的确认步骤。
-
Windows出现“Windows 已保护你的电脑”提示的原因
整理Windows应用分发时出现SmartScreen警告的原因,从代码签名、EV/OV证书、Azure Artifact Signing、MSIX、Microsoft Store、ClickOnce、企业内部分发到App Control,以实务角度梳理应对方法。
-
摆脱 IE 模式依赖系统的实践指引
本文围绕站点列表集中管理、中立站点、WebView2 封装、分阶段重构、VDI 隔离直到治理设计,梳理出一套让依赖 Microsoft Edge IE 模式的内部 Web 系统能够安全延续使用、并逐步摆脱依赖的实操路径,力求让读者可以直接照着落地执行。
-
Office 2024/Microsoft 365 中 ActiveX 无法运行的原因与排查步骤
梳理在 Office 2024/Microsoft 365 中 ActiveX 无法运行时,按默认禁用、32bit/64bit、COM 注册、依赖 DLL、IE 模式、Click-to-Run 日志的顺序进行排查的方法。
-
为 VBScript 弃用做准备:VBA·企业内部工具排查指南
本文整理 VBScript 分阶段弃用前,VBA、Excel 宏与企业内部工具的资产排查、静态检测、执行日志采集、替代技术选型、测试与分阶段推广的做法。
-
GCPW 是什么 - 用 Google 账号处理 Windows 登录的方法
整理 Google Credential Provider for Windows(GCPW)的工作原理、与 Windows device management 搭配使用的方式、现有用户配置文件的处理、首次登录、离线场景、两步验证,以及导入时的注意事项。
-
Windows 的文字编码与换行符 - 乱码与 CRLF/LF 的基础
本文整理 Windows 上容易混淆的 Shift_JIS / UTF-8 / UTF-16、乱码、CRLF / LF 之间的区别,用便于实务判断的方式呈现。
-
ClickOnce 是什么 - 从实务角度整理其原理、更新机制以及适用与不适用的场景
本文围绕用于 .NET Windows 桌面应用发布的 ClickOnce 技术,结合 Mermaid 图整理其清单(manifest)、更新、缓存、签名机制,以及适用与不适用的项目类型。
-
用 Windows Sandbox 加快应用验证的方法
本文整理如何利用 Windows Sandbox 提升管理员权限问题排查、干净环境复现、权限不足与资源不足复现的效率,并说明 .wsb 与 CLI 的分工使用方式。
-
Windows DLL 名称解析机制 - 搜索顺序与 SxS
本文从实务角度整理 Windows 的 DLL 名称解析机制,涵盖 DLL search order、Known DLLs、loaded-module list、API set、SxS manifest,以及 LoadLibrary 系列 API 的影响。
-
Windows 什么时候需要管理员权限 - UAC、保护区域与设计上的辨别方式
从边界与存储位置的角度,整理 Windows 什么时候真正需要管理员权限:UAC、保护区域、HKLM、服务、驱动、防火墙。同时说明 per-user 与 per-machine 的差异,以及把管理员处理拆成独立 EXE、服务或任务的设计取舍,帮读者判断该不该提升权限。
-
理清 Windows 的文字编码 - 乱码为什么会发生,尤其是和 Linux 搭配时容易出问题的地方
本文从 CP932、UTF-8、UTF-16、BOM、code page、PowerShell、Linux locale 的差异出发,从实务角度整理 Windows 上乱码发生的原因。
-
外部设备状态检查与显示的最佳实践 - 不要只用『连接中』敷衍了事的设计
在外部设备联动应用中,如果把状态压缩成单一的『连接中』,就容易造成误导。本文整理检测、响应确认、可用性、数据新鲜度、显示文案与重连的设计要点。
-
Windows 应用安全处理子进程的清单 - Job Object、退出传播、标准输入输出、watchdog 最佳实践
在 Windows 应用中安全处理子进程,比起选择启动 API,更重要的是设计进程树的所有权和结束流程。本文整理 Job Object、退出传播、标准输入输出与 watchdog。
-
Windows 应用发布方式怎么选 - MSI / MSIX / ClickOnce / xcopy / 自定义 updater 判断指南
Windows 应用的发布方式不是 installer 形式的偏好问题,而是与 OS 的耦合程度和更新责任由谁承担的选择。本文从实务角度整理 MSI / MSIX / ClickOnce / xcopy / 自定义 updater 的选型思路。
-
Windows 应用的单文件分发 - 单一可执行文件与系统依赖的界限
整理在 Windows 上想把应用做成 1 个 EXE 时,「把发布物合并成一个文件」与「消除系统依赖」之间的区别,涵盖 .NET、C++、WebView2、WinUI、服务与驱动等场景。
-
在 Windows 环境下减少 Codex 乱码事故的最佳实践 - 先把『指示方式』钉住,再谈环境整备
本文整理在 Windows 上让 Codex 安全处理日文文件的指示原则:读文件前先确认 encoding 与 BOM,疑似乱码禁止臆测保存,现有文件维持原状,仅新建采用 UTF-8,并在写入后重新读取代表性日文行验证,把规则沉淀进 AGENTS.md 以减少事故。
-
Windows 用户配置文件入门 - AppData 与 NTUSER.DAT
整理 Windows 用户配置文件的基础知识、AppData 的使用区分、本地 / 漫游 / Mandatory / Temporary、Folder Redirection、FSLogix,以及故障时的排查思路。
-
把 Windows 的「处理器计划」改成「后台服务」会发生什么 - 整理 quantum、优先级提升、P-Core/E-Core
整理把 Windows 的「处理器计划」切到「后台服务」时,到底改变的是哪一层;从 quantum、前台偏好、优先级提升,一路接到 Windows 11 hybrid CPU 上 QoS 与 P-Core/E-Core 的选择,并区分什么情况真的有效、什么情况其实是 DPC、驱动、EcoQoS 等别的问题。
-
在 Windows 上正确比较不同版本程序运行速度的方法
本文整理在 Windows 上比较程序版本差异时如何提升可复现性,涵盖 power mode 与 power plan 的区分、散热与背景噪声的控制、测量指标的选择,以及差异较小时如何用 ETW / WPR 深入排查原因。
-
Windows 网卡高级设置详解 - Jumbo Packet、RSS、LSO、RSC、Flow Control、EEE、Wake on LAN 到底怎么设置
本文以实务角度逐项拆解 Windows 网卡高级设置,从 Speed & Duplex、Jumbo Packet 到 RSS、RSC、LSO、Interrupt Moderation、Flow Control、EEE 与 Wake on LAN,说明每项调整在吞吐量、延迟、CPU 与省电之间的取舍,并提供按症状排...