|
解决Win32汇编图标案例文字乱码的常见方法:
1. 检查字符编码设置
建议在代码开头添加字符集声明:
- #pragma comment(linker, "/manifestdependency:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'"")
- #pragma comment(linker,"/subsystem:windows")
复制代码
2. 修改资源文件编码
如果使用.rc资源文件:
→ 用记事本打开.rc文件
→ 另存为时选择 ANSI 编码
→ 添加代码页声明到文件开头:
- #pragma code_page(936) // 简体中文代码页
复制代码
3. API函数版本统一
确保所有API调用使用统一字符集:
- invoke MessageBoxW, NULL, addr szTextW, addr szCaptionW, MB_OK
- ; 使用宽字符版本API时,字符串应定义为:
- szTextW dw '中','文','示','例',0
复制代码
4. 编译器选项设置
在MASM32编译时添加参数:
常见错误排查:
- 查看系统区域设置是否为中文(简体,中国)
- 确认所有字符串以双字节0结尾(宽字符)
- 检查是否混用了ANSI和Unicode API
如果仍有问题,建议提供具体代码片段,方便进一步分析定位问题~
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|