在学罗云彬的书,想自己做个界面,1.rc如下:
#include <resource.h>
#define ICO_MAIN 0x1000
#define DLG_MAIN 0x1001
#define IDC_NAME 0x1002
#define IDC_PASS 0x1003
ICO_MAIN ICON "main.ico"
DLG_MAIN DIALOG 17, 52, 310, 134
STYLE DS_MODALFRAME|WS_POPUP|WS_VISIBLE|WS_CAPTION|WS_SYSMENU
CAPTION "crackme"
FONT 9, "宋体"
{
LTEXT "请输入用户名:", -1, 56, 22, 105, 12
EDITTEXT IDC_NAME, 117, 20, 105, 12
LTEXT "请输入注册码:", -1, 56, 59, 105, 12
EDITTEXT IDC_PASS, 118, 55, 105, 12
PUSHBUTTON "确定", IDOK, 82, 103, 50, 14
PUSHBUTTON "取消", IDCANCEL, 151, 103, 50, 14
}
1.asm如下:
.386
.model flat,stdcall
option casemap:none
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
ICO_MAIN equ 1000
DLG_MAIN equ 1001
IDC_NAME equ 1002
IDC_PASS equ 1003
.data?
hInstance dd ?
.code
_ProcDlgMain Proc uses ebx edi esi hWnd,wMsg,wParam,lParam
mov eax,wMsg
.if eax==WM_CLOSE
invoke EndDialog,hWnd,NULL
.elseif eax==WM_INITDIALOG
invoke LoadIcon,hInstance,ICO_MAIN
invoke SendMessage,hWnd,WM_SETICON,ICON_BIG,eax
.elseif eax==WM_COMMAND
mov eax,wParam
.if ax==IDOK
.endif
.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
编译,链接都没问题,并且生成了程序,可是双击没反应,运行不了,为什么啊
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课