⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 winmain.asm

📁 一个十六进制编辑器源代码,cool!
💻 ASM
字号:
WinMain		PROTO :DWORD,:DWORD,:DWORD,:DWORD
_isdlgmsg macro @hDlg
		.if @hDlg
			invoke IsDialogMessage,@hDlg,addr msg
			test eax,eax
			jnz @B
		.endif
		endm	
.code
WinMain proc hInst:DWORD,hPrevInst:DWORD,CmdLine:DWORD,CmdShow:DWORD
	LOCAL wc   :WNDCLASSEX
	LOCAL msg  :MSG
	local @hAccel:DWORD	
	;---------------------
	;加载加速键
	invoke LoadAccelerators,NULL ,1000
	mov @hAccel,eax
	;注册主窗口类
	invoke RtlZeroMemory,addr wc,sizeof wc
	mov wc.cbSize,sizeof WNDCLASSEX
	mov wc.style,CS_HREDRAW or CS_VREDRAW or CS_BYTEALIGNWINDOW
	m2m wc.hInstance,hInst
	mov wc.lpszMenuName,IDM_MAIN
	invoke LoadIcon,hInstance,IDI_MAIN
	mov wc.hIcon,eax
	mov wc.hbrBackground,NULL
	invoke LoadCursor,NULL,IDC_ARROW 
	mov wc.hCursor, eax
	mov wc.lpfnWndProc,offset WndProc
	mov wc.lpszClassName,offset szClassName
	invoke RegisterClassEx, addr  wc
	;建立主窗口框架
	mov eax,CW_USEDEFAULT
	invoke CreateWindowEx,WS_EX_CLIENTEDGE or WS_EX_ACCEPTFILES ,\
		addr szClassName,addr szWindowName,\
		WS_OVERLAPPEDWINDOW or WS_VSCROLL ,\
		eax,eax,eax,eax,\
		NULL,0,hInst,NULL
;-----------------------------------------
	invoke ShowWindow,hWnd,SW_SHOWNORMAL
	invoke UpdateWindow,hWnd
;-----------------------------------------
	call _InitApp;xHex.asm
@@:
	invoke GetMessage,addr  msg,NULL,0,0
	test eax, eax
	jz @F
	invoke TranslateAccelerator,hWnd ,@hAccel,addr msg
	.if eax==0
		_isdlgmsg g_hDlg_GoTo
		_isdlgmsg g_hDlg_Conv
		_isdlgmsg g_hDlg_Find
		invoke TranslateMessage, addr  msg
		invoke DispatchMessage, addr  msg
	.endif		
	jmp @B
@@:
;------------------------------------------------
	mov eax,msg.wParam
	ret
WinMain endp

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -