在消息列队里,点“打开IE”,也就处理了IDC_Open的消息,然
后就调用ShellExecute来打开IE,但是编译出错,
.386
.model flat,stdcall
Option casemap:none
include windows.inc
include user32.inc
include kernel32.inc
include shell32.inc
includelib shell32.lib
includelib user32.lib
includelib kernel32.lib
ICO_MAIN equ 1000
DLG_MAIN equ 1000
IDC_Open equ 1001
.data?
hInstance dd ?
.data
szWebPage db 'http://www.baidu.com/',0
.code
_ProcDlgMain proc uses ebx edi esi hWnd,wMsg,wParam,lParam
local @szBuffer[128]:byte
mov eax,wMsg
.if eax == WM_CLOSE
invoke EndDialog,hWnd,NULL
.elseif eax == WM_INITDIALOG
invoke LoadIcon,hInstance,ICO_MAIN
.elseif eax == WM_COMMAND
mov eax,wParam
.elseif ax == IDC_Open
invoke ShellExecute,0,0,addr szWebPage,0,0,SW_SHOW
.if ax == IDCANCEL
invoke EndDialog,hWnd,NULL
.else
mov eax,FALSE
ret
.endif
mov eax,TRUE
ret
_ProcDlgMain endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
start:
invoke GetModuleHandle,NULL
mov hInstance,eax
invoke DialogBoxParam,hInstance,DLG_MAIN,NULL,\
offset _ProcDlgMain,\
NULL
invoke ExitProcess,NULL
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
end start ;就是这个出错,郁闷ing~~
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
RC文件:
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#include <resource.h>
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#define ICO_MAIN 1000
#define DLG_MAIN 1000
#define IDC_Open 1001
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ICO_MAIN ICON "Main.ico"
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
DLG_MAIN DIALOG 205, 107, 245, 270
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "打开IE的测试"
FONT 9, "宋体"
{
PUSHBUTTON "打开IE", IDC_Open, 121, 23, 57, 14
PUSHBUTTON "退出(&X)", IDCANCEL, 182, 245, 57, 14
}
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
编译器报错:
fatal error A1010: unmatched block nesting : .if-.repeat-.while
求解答,如何完善?
[课程]Android-CTF解题方法汇总!