<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[风之岷的开发空间]]></title><description><![CDATA[记录总结有用的东西]]></description><link>https://blog.youkuaiyun.com/weixin_54386406</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weixin_54386406]]></copyright><item><title><![CDATA[关于右键菜单特殊情况无法获取文件路径的处理方案]]></title><link>https://blog.youkuaiyun.com/weixin_54386406/article/details/169169071</link><guid>https://blog.youkuaiyun.com/weixin_54386406/article/details/169169071</guid><author>weixin_54386406</author><pubDate>Mon, 26 Oct 2026 20:56:30 +0800</pubDate><description><![CDATA[在使用IExplorerCommand开发Windows右键菜单时，若目标为文件夹背景（如DesktopBackground），psiItemArray可能为空或为NULL，导致无法获取路径。解决方案是通过IObjectWithSite接口结合IServiceProvider和IFolderView获取当前目录路径，实现双通道路径获取：优先使用psiItemArray，失败则回退至site_链。代码中利用ATL+WIL或C++/WinRT+WIL实现智能指针管理，确保安全调用。关键函数GetBestLoca]]></description><category></category></item><item><title><![CDATA[注册表架构详解]]></title><link>https://blog.youkuaiyun.com/weixin_54386406/article/details/166370645</link><guid>https://blog.youkuaiyun.com/weixin_54386406/article/details/166370645</guid><author>weixin_54386406</author><pubDate>Mon, 26 Oct 2026 20:56:07 +0800</pubDate><description><![CDATA[注册表采用树形结构，由五大根键（如HKEY_LOCAL_MACHINE、HKEY_CURRENT_USER）组成，支持512级深度，键名不区分大小写。各根键映射不同系统配置，如HKLM存储机器级数据，HKCU对应当前用户。注册表值包含类型（如REG_SZ、REG_DWORD）、数据与名称。可通过regedit、命令行工具或Win32 API操作注册表，支持查询、修改、导出等操作。关键函数如RegOpenKeyEx、RegSetValueEx等实现注册表访问，适用于系统管理与开发。]]></description><category></category></item><item><title><![CDATA[Registry Win32 API详解]]></title><link>https://blog.youkuaiyun.com/weixin_54386406/article/details/164122445</link><guid>https://blog.youkuaiyun.com/weixin_54386406/article/details/164122445</guid><author>weixin_54386406</author><pubDate>Thu, 27 Aug 2026 17:31:15 +0800</pubDate><description><![CDATA[obsidian。]]></description><category></category></item><item><title><![CDATA[MSIX 影响实际注册表的机制(清单声明与虚拟注册表)]]></title><link>https://blog.youkuaiyun.com/weixin_54386406/article/details/163957783</link><guid>https://blog.youkuaiyun.com/weixin_54386406/article/details/163957783</guid><author>weixin_54386406</author><pubDate>Wed, 26 Aug 2026 21:40:02 +0800</pubDate><description><![CDATA[obsidian。]]></description><category></category></item><item><title><![CDATA[windows注册表常见位置]]></title><link>https://blog.youkuaiyun.com/weixin_54386406/article/details/164097199</link><guid>https://blog.youkuaiyun.com/weixin_54386406/article/details/164097199</guid><author>weixin_54386406</author><pubDate>Wed, 26 Aug 2026 21:39:20 +0800</pubDate><description><![CDATA[obsidian。]]></description><category></category></item><item><title><![CDATA[windows重定向简述]]></title><link>https://blog.youkuaiyun.com/weixin_54386406/article/details/163891343</link><guid>https://blog.youkuaiyun.com/weixin_54386406/article/details/163891343</guid><author>weixin_54386406</author><pubDate>Wed, 19 Aug 2026 16:35:42 +0800</pubDate><description><![CDATA[本文总结了常见命令行操作符和重定向功能，包括管道符、逻辑操作符、输出/输入重定向、错误流处理及句柄说明。重点覆盖了|、&amp;&amp;、||、&gt;、&gt;&gt;、2&gt;等基础操作符的用法，解释了STDIN/STDOUT/STDERR三种标准句柄（0/1/2），并补充了PowerShell特有的6种信息流（1-6）及其版本支持情况。文中通过实例展示了文件重定向、错误流合并、输出屏蔽等典型应用场景，同时提及了转义符^的使用方法。]]></description><category></category></item><item><title><![CDATA[环境中公开可执行文件的方法]]></title><link>https://blog.youkuaiyun.com/weixin_54386406/article/details/163735418</link><guid>https://blog.youkuaiyun.com/weixin_54386406/article/details/163735418</guid><author>weixin_54386406</author><pubDate>Fri, 14 Aug 2026 00:01:15 +0800</pubDate><description><![CDATA[文章摘要：Windows系统通过四种独立机制实现&quot;输入名称启动程序&quot;：1. CreateProcess API的标准搜索顺序（依赖PATH）；2. AppPaths注册表项（ShellExecute级别，无需修改PATH）；3. AppExecutionAliases（MSIX应用专属，通过PATH中的重解析点实现）；4. 当前工作目录的直接执行。其中AppPaths注册表机制最为关键，允许程序通过注册表注册而非修改全局PATH实现按名称启动。]]></description><category></category></item><item><title><![CDATA[Doxygen 注释]]></title><link>https://blog.youkuaiyun.com/weixin_54386406/article/details/163706937</link><guid>https://blog.youkuaiyun.com/weixin_54386406/article/details/163706937</guid><author>weixin_54386406</author><pubDate>Thu, 13 Aug 2026 00:31:27 +0800</pubDate><description><![CDATA[Doxygen是一款跨平台代码文档生成工具，通过解析特殊格式的注释自动生成HTML/PDF等格式的文档。它采用&quot;代码即文档&quot;理念，支持Javadoc和Qt两种主流注释风格（推荐/**...*/），通过@param、@return等命令标记参数、返回值等元素。文档可涵盖文件头、命名空间、类、成员变量等C++组件，支持Markdown语法和调用关系图生成。最佳实践包括：统一注释风格、详细注释公共API、保持文档同步更新，并建议集成到CI/CD流程实现自动化。配置文件Doxyfile可自定义输]]></description><category></category></item><item><title><![CDATA[windows如何获取system级权限]]></title><link>https://blog.youkuaiyun.com/weixin_54386406/article/details/163707044</link><guid>https://blog.youkuaiyun.com/weixin_54386406/article/details/163707044</guid><author>weixin_54386406</author><pubDate>Thu, 13 Aug 2026 00:31:01 +0800</pubDate><description><![CDATA[摘要：在Windows系统中，SYSTEM账户（SID: S-1-5-18）拥有最高权限，但无法直接登录。可通过安全工具临时获取其权限：（1）使用微软官方PsExec创建交互式SYSTEM会话；（2）通过任务计划程序执行SYSTEM权限任务；（3）使用开源工具NSudo获取TrustedInstaller权限（高于SYSTEM）。操作需谨慎，因SYSTEM权限无UAC保护，误操作可能导致系统崩溃。完成后应立即关闭会话，建议优先使用更安全的替代方案如启用Administrator账户或通过takeown/ic]]></description><category></category></item><item><title><![CDATA[C++ 模板（Template）详解]]></title><link>https://blog.youkuaiyun.com/weixin_54386406/article/details/163608622</link><guid>https://blog.youkuaiyun.com/weixin_54386406/article/details/163608622</guid><author>weixin_54386406</author><pubDate>Wed, 12 Aug 2026 22:51:26 +0800</pubDate><description><![CDATA[本文全面介绍了C++模板机制的核心内容。首先讲解了函数模板和类模板的基本语法与使用方式，包括参数推导、多模板参数和类模板特化。其次详细说明了非类型模板参数、默认参数和可变参数模板的应用场景与实现方法。然后深入探讨了模板元编程技术，包括SFINAE、C++20概念和模板继承等高级特性。文章还涵盖了模板实例化规则、两阶段名称查找和模板别名等重要概念。最后提供了模板编程的最佳实践建议，如优先使用typename关键字、避免深度递归、利用static_assert优化错误提示等。全文系统地梳理了C++模板从基础到高]]></description><category></category></item><item><title><![CDATA[COM 接口方法返回类型声明与实现宏]]></title><link>https://blog.youkuaiyun.com/weixin_54386406/article/details/163706853</link><guid>https://blog.youkuaiyun.com/weixin_54386406/article/details/163706853</guid><author>weixin_54386406</author><pubDate>Wed, 12 Aug 2026 22:50:56 +0800</pubDate><description><![CDATA[本文介绍了COM接口声明和实现中常用的宏定义及其用途。STDMETHOD/STDMETHOD_用于声明返回HRESULT或指定类型的纯虚方法；IFACEMETHOD系列宏增加了override和nothrow特性；STDMETHODIMP/STDMETHODIMP_则用于实现对应的方法。这些宏简化了接口定义和实现，确保了方法声明的标准化，其中PURE标记强制子类实现纯虚函数。文章还展示了接口声明和实现的完整示例代码，包括IUnknown标准方法和自定义方法的定义与实现。]]></description><category></category></item><item><title><![CDATA[windows 多级右键菜单(新版菜单IExplorerCommand和旧版菜单IContextMenu)]]></title><link>https://blog.youkuaiyun.com/weixin_54386406/article/details/163641251</link><guid>https://blog.youkuaiyun.com/weixin_54386406/article/details/163641251</guid><author>weixin_54386406</author><pubDate>Mon, 10 Aug 2026 20:53:51 +0800</pubDate><description><![CDATA[IContextMenu与IExplorerCommand实现右键多级菜单对比 IContextMenu（传统方式） 通过QueryContextMenu动态构建菜单，使用CreatePopupMenu和InsertMenuItem添加子菜单项。 菜单响应通过InvokeCommand的lpici参数区分命令ID（LOWORD）或谓词字符串（HIWORD）。 示例：筛选.dll文件后生成注册/注销子菜单，执行regsvr32操作。 IExplorerCommand（新版Shell菜单） 原生不支持多级菜单，]]></description><category></category></item><item><title><![CDATA[win32打开文件或执行程序(ShellExecute和ShellExecuteEx)]]></title><link>https://blog.youkuaiyun.com/weixin_54386406/article/details/163564614</link><guid>https://blog.youkuaiyun.com/weixin_54386406/article/details/163564614</guid><author>weixin_54386406</author><pubDate>Sun, 09 Aug 2026 11:17:59 +0800</pubDate><description><![CDATA[ShellExecute 和 ShellExecuteEx 是 Windows API 中用于执行外部程序或文件操作的两个关键函数。ShellExecute 通过指定操作类型（如打开、编辑、打印等）和显示方式（最小化/最大化等）来执行文件，支持基础功能但参数较少。ShellExecuteEx 则通过 SHELLEXECUTEINFO 结构体提供更丰富的控制选项，包括进程句柄获取、异步执行控制等高级功能。两者都支持常见操作如 runas（管理员权限运行）、open（打开文件）等，并返回不同错误代码（如文件未找]]></description><category></category></item><item><title><![CDATA[C++中源变量、指针、引用、const 简述]]></title><link>https://blog.youkuaiyun.com/weixin_54386406/article/details/163566321</link><guid>https://blog.youkuaiyun.com/weixin_54386406/article/details/163566321</guid><author>weixin_54386406</author><pubDate>Sun, 09 Aug 2026 11:17:31 +0800</pubDate><description><![CDATA[本文解析了C++编程中关键概念的关系结构：变量存储原值，指针存储变量地址，引用作为变量的别名地址。通过案例展示了变量声明、取地址操作、指针定义与解引用等核心操作。重点区分了四种const修饰的用法：const int（只读变量）、const int*（指向常量的指针）、int* const（常量指针）、const int&amp;（只读引用），分别从&quot;能否修改原值&quot;和&quot;能否改变指向&quot;两个维度进行特性对比。典型场景包括保护数据不被修改（值/内容const）和固定指针/引]]></description><category></category></item><item><title><![CDATA[应用包清单(AppxManifest.xml与Package.appxmanifest)]]></title><link>https://blog.youkuaiyun.com/weixin_54386406/article/details/163565135</link><guid>https://blog.youkuaiyun.com/weixin_54386406/article/details/163565135</guid><author>weixin_54386406</author><pubDate>Sat, 08 Aug 2026 08:39:35 +0800</pubDate><description><![CDATA[摘要： Windows应用程序包清单（AppxManifest.xml/Package.appxmanifest）是一个必需的XML文件，用于定义应用部署信息，包括包标识、依赖项、功能、扩展点等。其架构基于多个XSD文件（如UapManifestSchema.xsd），并通过命名空间相互引用。清单在签名后不可修改，否则会失效。]]></description><category></category></item><item><title><![CDATA[微软 SAL注释语言 汇总]]></title><link>https://blog.youkuaiyun.com/weixin_54386406/article/details/163564946</link><guid>https://blog.youkuaiyun.com/weixin_54386406/article/details/163564946</guid><author>weixin_54386406</author><pubDate>Sat, 08 Aug 2026 08:38:30 +0800</pubDate><description><![CDATA[SAL（Source Annotation Language）是微软提供的源代码注释语言，用于为函数参数、返回值、结构体和类等元素添加详细注释，帮助Visual Studio代码分析工具验证代码的正确使用（如只读、只写、可选/必选参数等）。 SAL注释分为多种类型，包括： 基本参数注释：如_In_（只读输入）、_Out_（只写输出）、_Inout_（可读写）。 指针和缓冲区注释：如_In_reads_(s)（输入数组大小）、_Out_writes_bytes_(s)（输出缓冲区字节数）。 等]]></description><category></category></item><item><title><![CDATA[旧版快捷菜单(IContextMenu)实现]]></title><link>https://blog.youkuaiyun.com/weixin_54386406/article/details/163406990</link><guid>https://blog.youkuaiyun.com/weixin_54386406/article/details/163406990</guid><author>weixin_54386406</author><pubDate>Fri, 07 Aug 2026 14:16:01 +0800</pubDate><description><![CDATA[摘要：本文详细介绍了Windows Shell扩展中IContextMenu接口的实现过程，包括IShellExtInit初始化、QueryContextMenu菜单项添加、InvokeCommand命令执行三个核心阶段。重点解析了关键数据结构如CMINVOKECOMMANDINFO和MENUITEMINFO的使用方法，以及InsertMenu/InsertMenuItem等API的参数配置技巧。文章还特别说明了对uFlags标志位的处理策略，例如CMF_DEFAULTONLY和CMF_EXTENDEDVE]]></description><category></category></item><item><title><![CDATA[windows新版右键菜单(快捷菜单/简化菜单/新版菜单/IExplorerCommand)开发指南]]></title><link>https://blog.youkuaiyun.com/weixin_54386406/article/details/163346340</link><guid>https://blog.youkuaiyun.com/weixin_54386406/article/details/163346340</guid><author>weixin_54386406</author><pubDate>Fri, 07 Aug 2026 14:02:00 +0800</pubDate><description><![CDATA[本文详细介绍了Windows 11右键菜单的开发方法。相比Win10的注册表直接修改方案，Win11新版菜单需通过实现IExplorerCommand接口，并使用MSIX打包工具在Package.appxmanifest中注册。文章包含具体开发步骤：创建ATL项目实现接口、配置打包项目、编写多级菜单逻辑，以及生成MSIX安装包。同时兼容Win10旧版菜单的开发方法也被提及，开发者可根据需求选择对应方案。文中提供了完整的代码示例和配置说明，并推荐使用Visual Studio 2022作为开发环境。]]></description><category></category></item><item><title><![CDATA[环境变量简述]]></title><link>https://blog.youkuaiyun.com/weixin_54386406/article/details/162400331</link><guid>https://blog.youkuaiyun.com/weixin_54386406/article/details/162400331</guid><author>weixin_54386406</author><pubDate>Mon, 29 Jun 2026 01:28:16 +0800</pubDate><description><![CDATA[本文介绍了Windows环境变量的基本概念、编辑方法和分类。环境变量以键值对形式存储，分为系统变量和用户变量，可通过系统设置或专用工具修改。文中详细列举了常见的只读/隐藏变量（如系统路径、用户目录等）和可自定义的预定义变量（如处理器信息、临时目录等），并说明其作用域和注册表存储位置。环境变量类型包括文本字符串和可扩展字符串，分别对应不同的注册表类型。这些变量为系统和应用程序提供关键配置信息，合理设置可优化系统运行。]]></description><category></category></item><item><title><![CDATA[ATL的版本化 ProgID 与注册表动态绑定机制]]></title><link>https://blog.youkuaiyun.com/weixin_54386406/article/details/161939553</link><guid>https://blog.youkuaiyun.com/weixin_54386406/article/details/161939553</guid><author>weixin_54386406</author><pubDate>Sat, 13 Jun 2026 02:02:47 +0800</pubDate><description><![CDATA[打开.test程序时调用【UserExt.ContextMenu】(无版本)的程序指向【UserExt.ContextMenu.1】，其中【UserExt.ContextMenu】【UserExt.ContextMenu.1】均为类对象，【UserExt.ContextMenu】用于指向，【UserExt.ContextMenu.1】是实际功能类，新版本更新时直接需改其中的CurVer指向指向新的类比如【UserExt.ContextMenu.2】]]></description><category></category></item></channel></rss>