[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fd7bDRXH6BCl-ZicPLs38y9ez7IQx6TOnBdXgoSzjE7Y":3},[4,16,23,30,36,43,50,57,64],{"slug":5,"title":6,"description":7,"pub_date":8,"tags":9,"draft":15},"csharp-sendmessage-cpp","C# 通过 SendMessage 向 C++ 窗口发送消息与字符串","使用 P\u002FInvoke 调用 user32.dll 的 SendMessage，从 C# 发送自定义 WM_USER 消息及字符串指针给 C++ 原生窗口，并在 C++ 侧正确接收和转换。","2023-06-09",[10,11,12,13,14],"C#","cpp","windows","互操作","PInvoke",false,{"slug":17,"title":18,"description":19,"pub_date":8,"tags":20,"draft":15},"win-cw2a-ca2w","ATL 字符串转换：CW2A 与 CA2W 完全指南","详解 ATL 宏 CW2A\u002FCA2W 在 Unicode 与 ANSI 之间的字符串转换用法、头文件依赖、USES_CONVERSION 宏的作用与常见陷阱。",[11,12,21,22],"ATL","字符串",{"slug":24,"title":25,"description":26,"pub_date":27,"tags":28,"draft":15},"exe-dll-single-package","将 EXE 和 DLL 打包成单一可执行文件","介绍两种将 exe 和依赖 dll 打包成单文件的方案：Enigma Virtual Box 和 WinRAR 自解压，适合发布 Windows 桌面程序时简化分发流程。","2023-05-26",[12,11,29],"工具",{"slug":31,"title":32,"description":33,"pub_date":27,"tags":34,"draft":15},"win-postmessage-vector","Windows PostMessage 跨线程传递 std::vector 指针","通过 PostMessage 在 Windows 消息队列中传递 std::vector 指针，使用 reinterpret_cast 将指针装入 LPARAM，并在接收方正确释放内存。",[11,12,35],"WinAPI",{"slug":37,"title":38,"description":39,"pub_date":40,"tags":41,"draft":15},"win-startup-registry","C++ 实现程序开机自启动：注册表方式详解","通过操作 Windows 注册表 Run 键实现程序开机自启动，包括 HKCU 与 HKLM 区别、完整封装代码、工作目录问题和 UAC 权限处理。","2022-12-26",[12,11,42],"registry",{"slug":44,"title":45,"description":46,"pub_date":47,"tags":48,"draft":15},"mfc-cstring-wparam","MFC 中 CString 与 WPARAM 之间的转换","详解 MFC 消息传递中 CString 无法直接强转为 WPARAM 的原因，以及两种正确的转换方案，并介绍结构体指针传递的正确姿势。","2022-11-25",[49,11,12],"mfc",{"slug":51,"title":52,"description":53,"pub_date":54,"tags":55,"draft":15},"duilib-static-build","正确编译 Duilib 静态库：避免 ATL 依赖和链接错误","详解如何用 DuiLib_Static.vcxproj 编译 Duilib 静态库，解决 VARIANT 未定义、Unicode 配置不匹配和 ATL 依赖等常见问题。","2022-08-24",[11,56,12,49],"duilib",{"slug":58,"title":59,"description":60,"pub_date":61,"tags":62,"draft":15},"mfc-dpi-adaptive","MFC 界面自适应不同分辨率","MFC 对话框程序实现控件和字体随分辨率自动缩放的完整方案，附 DPI Awareness 配置说明","2022-08-17",[49,11,12,63],"dpi",{"slug":65,"title":66,"description":67,"pub_date":68,"tags":69,"draft":15},"mfc-drag-window","MFC 无标题栏窗口客户区拖动：三种方法对比","MFC 对话框去掉标题栏后如何实现拖动移动窗口，三种方案完整实现与适用场景分析","2022-08-16",[49,11,12]]