标题:问个很基础的问题,怎么定义unicode,是编译的时候messageboxex的地址编译成 ...
取消只看楼主
hcksfch
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-9-30
得分:0 
回复 22楼 有容就大
看到了,此时调用的是messageboxexa;调用messageboxexw时应该显示乱码。
2012-10-02 00:15
hcksfch
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-9-30
得分:0 
回复 23楼 zklhp
程序代码:
        .386
        .model flat,stdcall
        option casemap:none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 文件定义
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include        windows.inc
include        user32.inc
includelib    user32.lib
include        kernel32.inc
includelib    kernel32.lib
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 数据段
__UNICODE__ equ 1
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        .const
szCaption    db    '恭喜',0
szText        db    '当您看到这个信息的时候,您已经可以编译Win32汇编程序了!',0
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 代码段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        .code
start:
                IFDEF __UNICODE__
        MessageBoxEx equ <MessageBoxExW>
        ENDIF
   
        invoke    MessageBoxEx,NULL,offset szText,offset szCaption,MB_OK,NULL
        invoke    ExitProcess,NULL
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        end    start
这个代码可以将messageboxex变为messageboxexw
似乎user32.inc里的条件汇编不能用

[ 本帖最后由 hcksfch 于 2012-10-2 00:54 编辑 ]
2012-10-02 00:44
hcksfch
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-9-30
得分:0 
以下是引用zklhp在2012-9-30 22:30:29的发言:

是不是必须把那个玩意放include之前啊

这个正确
2012-10-02 01:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-382390-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025752 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved