由于MASM32中Dialog.inc文件中ustring宏有问题,导致用对话框相关的宏显示含有中文的对话框时出问题。原代码如下所示:
; ------------------------------------------------
; write unicode string at current location in EDI
; ------------------------------------------------
ustring MACRO quoted_text
LOCAL asc_txt
.data
asc_txt db quoted_text,0
.code
invoke MultiByteToWideChar,CP_ACP,MB_PRECOMPOSED,
ADDR asc_txt,-1,edi,LENGTHOF asc_txt
add edi, LENGTHOF asc_txt*2
ENDM
修改为以下后正常:
; ------------------------------------------------
; write unicode string at current location in EDI
; ------------------------------------------------
ustring MACRO quoted_text
LOCAL asc_txt