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

📄 new.asm

📁 一个十六进制编辑器源代码,cool!
💻 ASM
字号:
_NewProc	proto:DWORD ,:DWORD ,:DWORD ,:DWORD
_NewFile proto:DWORD ,:DWORD 

.code
_NewProc proc @hDlg,uMsg,wParam,lParam
local @szBuf[255]:BYTE 
	mov eax,uMsg
	.if eax==WM_INITDIALOG 
		;初始化对话框
		invoke SetDlgItemInt,@hDlg,IDC_EDIT_LEN,100,FALSE ;长度
		invoke SetDlgItemInt,@hDlg,IDC_EDIT_INIT,0,FALSE ;初始值
	.elseif eax==WM_COMMAND
		mov eax,wParam
		.if ax==IDOK
			invoke _GetInt ,@hDlg,IDC_EDIT_LEN	;新建文件的长度
			.if eax
					push eax
					invoke _GetInt ,@hDlg,IDC_EDIT_INIT;取得初始值
					push eax
					call _NewFile
					invoke SendMessage,@hDlg,WM_CLOSE ,NULL ,NULL 
			.endif
		.endif
	.elseif eax==WM_CLOSE 
		invoke EndDialog,@hDlg,0
	.else
		xor eax,eax
		ret
	.endif
	mov eax,TRUE 
	ret
_NewProc endp
;-------------------------------------
_NewFile proc uses edi ecx nValue,nSize
local wParam,@szBuf[255]:BYTE
		mov eax,nSize
		add eax,EXTRASIZE
		__alloc eax
		.if eax
			push eax
			mov edi,eax
			mov ecx,nSize
			mov eax,nValue
			rep stosb
		.else
			call _ShowError
			ret
		.endif
		call _Release
		m2m dwFileSize,nSize
		pop lpMemFile
		mov dwFileType,FILE_NORMAL
		invoke EnableMenuItem,hMenu,1003,MF_ENABLED 
		invoke EnableMenuItem,hMenu,1004,MF_ENABLED 
		invoke lstrcpy,addr szFileName,addr szNewFile
		invoke _SetWindowTitle,0,eax
		invoke _InitData ,dwFileSize
		call _ReDraw
		ret
_NewFile endp

⌨️ 快捷键说明

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