MessageBoxW和MessageBoxA有什么作用?

如题,他俩和MessageBox有什么区别?
2025-02-26 00:12:32
推荐回答(5个)
回答1:

MessageBox其实是在库里声明了一个宏。当你使用宽字符的时候,也就是unicode的时候,自动帮你转换使用。

MessageBoxW而当你使用窄字符的时候,会自动帮你转换到MEssageBoxA。其实你手动调用也是可以的,反正当宽窄不相同的时候编译器会自动帮你转换,不过我个人习惯用MessageBox,毕竟少打一个字母。

所谓宏,就是一些命令组织在一起,作为一个单独命令完成一个特定任务。Microsoft Word中对宏定义为:“宏就是能组织到一起作为一独立的命令使用的一系列word命令,它能使日常工作变得更容易”。Word使用宏语言Visual Basic将宏作为一系列指令来编写。

计算机科学里的宏是一种抽象的,根据一系列预定义的规则替换一定的文本模式。Excel办公软件自动集成了“VBA”高级程序语言,用此语言编制出的程序就叫“宏”。使用“VBA”需要有一定的编程基础,并且还会耗费大量的时间,因此,绝大多数的使用者仅使用了Excel的一般制表功能,很少使用到“VBA”。

回答2:

几个回答都和没说一样....
MessageBox其实是在库里声明了一个宏
当你使用宽字符的时候,也就是unicode的时候,自动帮你转换使用
MessageBoxW
而当你使用窄字符的时候,会自动帮你转换到
MEssageBoxA
其实你手动调用也是可以的,反正当宽窄不相同的时候编译器会自动帮你转换,不过我个人习惯用MessageBox,毕竟少打一个字母

回答3:

MessageBox与设置有关,设置为unicode就是宽字符,设置为多字符集就是窄字符;
MessageBoxA与MessageBoxW均与设置无关,前者为窄字符,后者为宽字符,需要使用L来显示

回答4:

“或可毛球”说得基本没有问题了,
不过使用MessageBox的好处可不是稍大了一个字母,而是提高了程序的移植性。

回答5:

A是ASCII版本的

W是unicode版本

系统根据你编译的语言会自动选择相应版本

所以你直接使用MessageBox就可以了