<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[langshanglibie的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/langshanglibie</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; langshanglibie]]></copyright><item><title><![CDATA[Unicode 码元 & 码位]]></title><link>https://blog.youkuaiyun.com/langshanglibie/article/details/159157105</link><guid>https://blog.youkuaiyun.com/langshanglibie/article/details/159157105</guid><author>langshanglibie</author><pubDate>Tue, 17 Mar 2026 10:01:40 +0800</pubDate><description><![CDATA[其中第 0 平面被称为基本多语言平面（BMP），它的码位范围从0一直到65535，写成十六进制也就是 U+0000 - U+FFFF ，所有的常见字符都被放在这个平面，这是 Unicode 最先定义和公布的一个平面，而剩下的平面被称为辅助平面，码位范围从 U+010000 一直到 U+10FFFF。更准确地说，前导代理，也称为高位代理，其值在 0xD800 和 0xDBFF 之间（含），而后尾代理，也称为低位代理，其值在 0xDC00 和 0xDFFF 之间（含）。PS：JS String 的。]]></description><category></category></item><item><title><![CDATA[NSIS 安装包默认支持的参数]]></title><link>https://blog.youkuaiyun.com/langshanglibie/article/details/139478944</link><guid>https://blog.youkuaiyun.com/langshanglibie/article/details/139478944</guid><author>langshanglibie</author><pubDate>Wed, 05 Jun 2024 18:10:07 +0800</pubDate><description><![CDATA[并且如果在安装包内调用 ${GetParameters} $R0 来获取安装包参数时，将获取不到 /D= 参数，被 NSIS 自己吃掉了，不会传给 nsi 脚本。只要指定了 /S 这个参数（S必须大写），NSIS 脚本中 IfSilent 函数自动设为 true，这是 NSIS 内置支持的，不需要自己在 NSIS 脚本中写代码来解析。如果想自己处理 /D= 参数，比如加一些自己的逻辑，必须换个参数，比如改为 /d=（即 D 改为小写的 d）。另外，注意这个参数不能包含引号，即使路径中含有空格。]]></description><category></category></item><item><title><![CDATA[如何让指定 Windows 程序崩溃]]></title><link>https://blog.youkuaiyun.com/langshanglibie/article/details/137960101</link><guid>https://blog.youkuaiyun.com/langshanglibie/article/details/137960101</guid><author>langshanglibie</author><pubDate>Fri, 19 Apr 2024 12:16:53 +0800</pubDate><description><![CDATA[在不修改任何代码的前提下，做到让指定程序崩溃]]></description><category></category></item><item><title><![CDATA[批处理脚本读取文件中的内容]]></title><link>https://blog.youkuaiyun.com/langshanglibie/article/details/136691040</link><guid>https://blog.youkuaiyun.com/langshanglibie/article/details/136691040</guid><author>langshanglibie</author><pubDate>Wed, 13 Mar 2024 20:46:56 +0800</pubDate><description><![CDATA[批处理脚本（BAT、CMD）读取文件中的内容]]></description><category></category></item><item><title><![CDATA[获取 Windows CPU 使用率]]></title><link>https://blog.youkuaiyun.com/langshanglibie/article/details/136400550</link><guid>https://blog.youkuaiyun.com/langshanglibie/article/details/136400550</guid><author>langshanglibie</author><pubDate>Fri, 01 Mar 2024 16:43:10 +0800</pubDate><description><![CDATA[获取 Windows CPU 使用率]]></description><category></category></item><item><title><![CDATA[Windows 获取内存 API 汇总及使用方法]]></title><link>https://blog.youkuaiyun.com/langshanglibie/article/details/136175545</link><guid>https://blog.youkuaiyun.com/langshanglibie/article/details/136175545</guid><author>langshanglibie</author><pubDate>Mon, 19 Feb 2024 17:48:23 +0800</pubDate><description><![CDATA[Windows 获取内存 API 汇总及使用方法]]></description><category></category></item><item><title><![CDATA[如何使用 UMDH 分析进程内存泄漏]]></title><link>https://blog.youkuaiyun.com/langshanglibie/article/details/132290805</link><guid>https://blog.youkuaiyun.com/langshanglibie/article/details/132290805</guid><author>langshanglibie</author><pubDate>Tue, 15 Aug 2023 10:23:25 +0800</pubDate><description><![CDATA[如何使用 UMDH 分析进程内存泄漏]]></description><category></category></item><item><title><![CDATA[可以绕过 Windows UAC 吗]]></title><link>https://blog.youkuaiyun.com/langshanglibie/article/details/128806473</link><guid>https://blog.youkuaiyun.com/langshanglibie/article/details/128806473</guid><author>langshanglibie</author><pubDate>Tue, 31 Jan 2023 00:25:00 +0800</pubDate><description><![CDATA[Windows 系统安全机制并非固若金汤。通过 COM 提升名称方法，程序可以绕过其核心安全机制 UAC 而获取到系统管理员权限。]]></description><category></category></item><item><title><![CDATA[Windows bat 命令 start /wait 失效问题]]></title><link>https://blog.youkuaiyun.com/langshanglibie/article/details/128408152</link><guid>https://blog.youkuaiyun.com/langshanglibie/article/details/128408152</guid><author>langshanglibie</author><pubDate>Thu, 22 Dec 2022 14:27:15 +0800</pubDate><description><![CDATA[start /wait 失效问题]]></description><category></category></item><item><title><![CDATA[C++17 新特性介绍]]></title><link>https://blog.youkuaiyun.com/langshanglibie/article/details/127074202</link><guid>https://blog.youkuaiyun.com/langshanglibie/article/details/127074202</guid><author>langshanglibie</author><pubDate>Tue, 27 Sep 2022 16:56:11 +0800</pubDate><description><![CDATA[C++17 新特性介绍]]></description><category></category></item><item><title><![CDATA[面向对象设计六大原则]]></title><link>https://blog.youkuaiyun.com/langshanglibie/article/details/125344464</link><guid>https://blog.youkuaiyun.com/langshanglibie/article/details/125344464</guid><author>langshanglibie</author><pubDate>Sun, 19 Jun 2022 20:44:05 +0800</pubDate><description><![CDATA[设计模式六大原则]]></description><category></category></item><item><title><![CDATA[Windows 安装包介绍]]></title><link>https://blog.youkuaiyun.com/langshanglibie/article/details/125081313</link><guid>https://blog.youkuaiyun.com/langshanglibie/article/details/125081313</guid><author>langshanglibie</author><pubDate>Wed, 01 Jun 2022 12:26:18 +0800</pubDate><description><![CDATA[Windows 安装包介绍，NSIS]]></description><category></category></item><item><title><![CDATA[下载 Qt 库 pdb 文件（Windows平台）]]></title><link>https://blog.youkuaiyun.com/langshanglibie/article/details/124400601</link><guid>https://blog.youkuaiyun.com/langshanglibie/article/details/124400601</guid><author>langshanglibie</author><pubDate>Mon, 25 Apr 2022 11:17:47 +0800</pubDate><description><![CDATA[下载 Qt 库 pdb 文件（Windows平台）


进入 https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/


选择 Qt 的版本：如 5.15.2，则进入 qt5_5152/



搜索包含 debug_info 的文件夹，选择对应的编译器版本、平台位数，点击进去



如下载 VS2019 x86，则点击进入 qt.qt5.5152.debug_info.win32_msvc2019/
如下载 VS2019 x64，]]></description><category></category></item><item><title><![CDATA[Windows 中的三种常用 DLL 注入技术]]></title><link>https://blog.youkuaiyun.com/langshanglibie/article/details/123853030</link><guid>https://blog.youkuaiyun.com/langshanglibie/article/details/123853030</guid><author>langshanglibie</author><pubDate>Wed, 30 Mar 2022 18:24:43 +0800</pubDate><description><![CDATA[Windows 中的三种常用 DLL 注入技术





一、DLL 注入技术的用途

二、DLL 注入基础

2.1 进程虚拟地址空间

2.2 读写其他进程的内存

2.3 LoadLibraryW 函数

三、APC 注入

四、远程线程注入

五、Windows 钩子

六、全局钩子注入





一、DLL 注入技术的用途

在 Windows 中，每个进程都有自己私有的虚拟地址空间。所以，一个进程没法访问另一个进程的内存。



但是，很多时候我们还是需要跨越进程的边界，来访问另一个进程的地址空]]></description><category></category></item><item><title><![CDATA[Qt5 Widget 程序 Qt 库裁剪方法]]></title><link>https://blog.youkuaiyun.com/langshanglibie/article/details/123050744</link><guid>https://blog.youkuaiyun.com/langshanglibie/article/details/123050744</guid><author>langshanglibie</author><pubDate>Mon, 21 Feb 2022 16:51:01 +0800</pubDate><description><![CDATA[Qt5 Widget 程序 Qt 库裁剪方法
使用 windeployqt.exe 时拷贝的 Qt 动态库，有一些是可能没用到的。

If dynamic OpenGL was used, then the archive must additionally contain

反之，如果没使用dynamic OpenGL，以下文件可以删除，可在调用windeployqt.exe时加--no-angle和--no-opengl-sw这两个参数。
QtWidgets/C++ 程序都不用 OpenGL，所以完全可]]></description><category></category></item><item><title><![CDATA[激活任意 Windows 窗口]]></title><link>https://blog.youkuaiyun.com/langshanglibie/article/details/120864911</link><guid>https://blog.youkuaiyun.com/langshanglibie/article/details/120864911</guid><author>langshanglibie</author><pubDate>Wed, 20 Oct 2021 14:13:45 +0800</pubDate><description><![CDATA[被 AttachThreadInput 的进程，如果是具有管理员权限的进程，则调用 AttachThreadInput 的进程也必须要有管理员权限，否则会失败，GetLastError 返回 5（拒绝访问）。研究了一下，发现是否能够成功，和 SetForegroundWindow 所在线程所附加的输入上下文有关（可以调用。但是根据经验可知，微软说废弃的，不知道到猴年马月才会真的从系统 API 中去除。想将某个窗口带到前台并且激活时，该窗口只是在任务栏上闪动（），并未能带到前台来。]]></description><category></category></item><item><title><![CDATA[使用 Visual Studio 编译 ARM64 架构程序指南]]></title><link>https://blog.youkuaiyun.com/langshanglibie/article/details/119788253</link><guid>https://blog.youkuaiyun.com/langshanglibie/article/details/119788253</guid><author>langshanglibie</author><pubDate>Wed, 18 Aug 2021 20:27:41 +0800</pubDate><description><![CDATA[使用 Visual Studio 编译 ARM64 架构程序指南
1. Visual Studio 安装 ARM64 开发组件
首先安装 Visual Studio 2019，在安装过程中勾选 ARM64 开发组件，如下图：

如果已经安装过 Visual Studio 2019，则打开 Visual Studio Installer 单独安装 ARM64 开发组件。Visual Studio Installer 可在开始菜单中找到，位置如下：

打开后，点击 Visual Studio 2019 右侧的【]]></description><category></category></item><item><title><![CDATA[一文入门跨平台开发框架 Electron]]></title><link>https://blog.youkuaiyun.com/langshanglibie/article/details/118357727</link><guid>https://blog.youkuaiyun.com/langshanglibie/article/details/118357727</guid><author>langshanglibie</author><pubDate>Wed, 30 Jun 2021 11:43:20 +0800</pubDate><description><![CDATA[一文入门跨平台开发框架 Electron
一、经典程序 Hello World

二、使用 Electron 的软件

Atom
VS code
Slack
飞书
美团大象
携程 TripPal、IM+
百度度管家
百度企业网盘
百度翻译
迅雷X
微信开发者工具
最新版有道云笔记

三、Electron 简介

Electron 是由 Github 开发
基于 Chromium和 Node.js
使用 JavaScript ，HTML 和 CSS 等 Web 技术
跨平台开发框架（Mac，Window 和 ]]></description><category></category></item><item><title><![CDATA[为什么会连续弹出多个UAC框]]></title><link>https://blog.youkuaiyun.com/langshanglibie/article/details/117372297</link><guid>https://blog.youkuaiyun.com/langshanglibie/article/details/117372297</guid><author>langshanglibie</author><pubDate>Fri, 28 May 2021 19:21:32 +0800</pubDate><description><![CDATA[问题
在用户机器上，我们的升级程序弹出一个UAC请求框，用户同意后，又弹出一个，用户再次同意后，
又弹出一个……一直这样弹了十几个。
程序的逻辑
我们的主程序启动之后，会启动一个异步回调，周期是8小时。异步回调函数里面会启动一个更新进程。
更新进程用来检查服务端有没有新版本。
更新进程是以runas方式调用ShellExecuteEx来启动的，会弹出UAC框，来请求管理员权限。
更新进程安装新版本时，需要释放文件到Program Files (x86)目录下，是需要管理员权限的。
问题原因
发生问题的用户的]]></description><category></category></item><item><title><![CDATA[Windows 中通过进程 ID 获取可执行文件路径的方法]]></title><link>https://blog.youkuaiyun.com/langshanglibie/article/details/109475260</link><guid>https://blog.youkuaiyun.com/langshanglibie/article/details/109475260</guid><author>langshanglibie</author><pubDate>Tue, 03 Nov 2020 18:25:23 +0800</pubDate><description><![CDATA[Windows中通过进程ID获取进程全路径




	 GetModuleFileNameEx
	
在Win7上，如果32进程调用用来获取64位进程路径，返回失败。

由于函数GetModuleFileName() 和 函数GetModuleFileNameEx()都是通过PEB头信息获取进程文件路径，所以它们只能工作于与调用进程相同位数的进程，比如：调用进程32位时，这两个函数只对32位进程有效，64位同理。




	 GetProcessImageFileName
	
所以在64位进程与32位进程并.]]></description><category></category></item></channel></rss>