记得在前面RadASM简介中有一个小程序,是弹出一个对话框,显示Hello Win32ASM,类似于一个Hello World程序,今天,受到"C语言也能干大事"(一个教人用C语言进行Win32程序设计的教程,有兴趣的可以百度一下)启发,对这个小程序作一点点改进,做成一个"RP测试"小程序,其实就是响应了对话框的按钮事件,下面给出代码,大家也可以实现各自版的"RP测试"小程序^_^
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ;RP TEST ;2011-5-25 ;by QianYuQianXun ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> .386 .model flat,stdcall option casemap:none ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ;Include File ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> include windows.inc include kernel32.inc include user32.inc includelib kernel32.lib includelib user32.lib ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ;data Segment ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> .data szCaption db 'RP测试',0 szText1 db '你的人品是否有问题?',0 szText2 db '不好意思,你没有如实回答!' db 0ah,0dh db '请重新选择!' db 0ah,0dh db '请问你的人品是否有问题?',0 szText3 db '还算你有自知之明^_^',0 szText4 db '看来你真的是不知悔改!' db '下面,将在3秒种之内格式化你的磁盘!!',0 szText5 db '不错,知错能改就是好孩子!',0 ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ;code Segment ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> .code start: invoke MessageBox,NULL,offset szText1,offset szCaption,MB_YESNO or MB_ICONQUESTION .if eax==IDNO ;对用户按下的按键进行判断并选择弹出相应的对话框(eax中存放的是MessageBox的返回值) invoke MessageBox,NULL,offset szText2,offset szCaption,MB_YESNO OR MB_ICONSTOP .if eax==IDNO;这几个判断的原理都一样,不再赘述 invoke MessageBox,NULL,offset szText4,offset szCaption,MB_OK or MB_ICONWARNING .elseif eax==IDYES invoke MessageBox,NULL,offset szText5,offset szCaption,MB_OK .endif .elseif eax==IDYES invoke MessageBox,NULL,offset szText3,offset szCaption,MB_OK OR MB_ICONINFORMATION .endif invoke ExitProcess,NULL end start