| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
- .386
 
 - .model flat,stdcall
 
 - .stack 4096
 
 - ExitProcess PROTO,dwExitCode:DWORD
 
 - MessageBox PROTO, hwnd:DWORD, 1pText:DWORD, 1pCaption:DWORD, uType:DWORD    ;函数的声明
 
  
 
- .data
 
 - szCaption db 'A MessageBox !',0
 
 - szText db 'Hello,World !,0
 
  
 
 
- .code
 
 - main PROC
 
 -         
 
  
-     invoke MessageBox, NULL, offset szText,offset szCaption, MB_OK   ;调用函数
 
  
-         
 
 -     INVOKE ExitProcess,0
 
 - main ENDP
 
 - END  main
 
  复制代码 
 
 
我的问题:MessageBox PROTO, hwnd:DWORD, 1pText:DWORD, 1pCaption:DWORD, uType:DWORD   提示语法错误 ??
你的代码存在一些语法错误。首先,参数名称应该以字母开头而不是数字。其次,在定义MessageBox函数原型时,参数名之前应该使用类型修饰符。最后,你的代码中存在一些拼写错误和缺少引号的问题。 
 
以下是正确的代码: 
 
.386 
.model flat,stdcall 
.stack 4096 
ExitProcess PROTO,dwExitCode:DWORD 
MessageBox PROTO, hwnd:DWORD, lpText:DWORD, lpCaption:DWORD, uType:DWORD    ; 函数的声明 
 
.data 
szCaption db 'A MessageBox!',0 
szText db 'Hello, World!',0 
 
.code 
main PROC 
    invoke MessageBox, NULL, OFFSET szText, OFFSET szCaption, MB_OK   ; 调用函数        
    INVOKE ExitProcess,0 
main ENDP 
END main 
 
这样应该就没有语法错误了。注意到,OFFSET关键字用于获取字符串在内存中的偏移量,而MB_OK是MessageBox函数的第四个参数,代表将显示一个OK按钮。 
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。 
 
 
 |   
 
 
 
 |