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

📄 versionedit.asm

📁 汇编资源编辑器
💻 ASM
📖 第 1 页 / 共 2 页
字号:

IDD_DLGVERSION		equ 1700
IDC_EDTVERNAME		equ 2901
IDC_EDTVERID		equ 2902
IDC_EDTVERFILE		equ 2903
IDC_EDTVERPROD		equ 2904
IDC_CBOVEROS		equ 2905
IDC_CBOVERTYPE		equ 2906
IDC_CBOVERLANG		equ 2907
IDC_CBOVERCHAR		equ 2908
IDC_LSTVER			equ 2909
IDC_EDTVER			equ 2910
IDC_EDTVERTPE		equ 2911
IDC_BTNVERADD		equ 2912

.const

szVerOS				dd 00000004h
					db 'WINDOWS32',0
					dd 00000000h
					db 'UNKNOWN',0
					dd 00010000h
					db 'DOS',0
					dd 00020000h
					db 'OS216',0
					dd 00030000h
					db 'OS232',0
					dd 00040000h
					db 'NT',0
					dd 00000000h
					db 'BASE',0
					dd 00000001h
					db 'WINDOWS16',0
					dd 00000002h
					db 'PM16',0
					dd 00000003h
					db 'PM32',0
					dd 00010001h
					db 'DOS_WINDOWS16',0
					dd 00010004h
					db 'DOS_WINDOWS32',0
					dd 00020002h
					db 'OS216_PM16',0
					dd 00030003h
					db 'OS232_PM32',0
					dd 00040004h
					db 'NT_WINDOWS32',0
					dd 0,0

szVerFT				dd 00000000h
					db 'UNKNOWN',0
					dd 00000001h
					db 'APP',0
					dd 00000002h
					db 'DLL',0
					dd 00000003h
					db 'DRV',0
					dd 00000004h
					db 'FONT',0
					dd 00000005h
					db 'VXD',0
					dd 00000007h
					db 'STATIC_LIB',0
					dd 0,0

szVerLNG			dd 0409h
					db 'U.S. English',0
					dd 0401h
					db 'Arabic',0
					dd 0402h
					db 'Bulgarian',0
					dd 0403h
					db 'Catalan',0
					dd 0404h
					db 'Traditional Chinese',0
					dd 0405h
					db 'Czech',0
					dd 0406h
					db 'Danish',0
					dd 0407h
					db 'German',0
					dd 0408h
					db 'Greek',0
					dd 040Ah
					db 'Castilian Spanish',0
					dd 040Bh
					db 'Finnish',0
					dd 040Ch
					db 'French',0
					dd 040Dh
					db 'Hebrew',0
					dd 040Eh
					db 'Hungarian',0
					dd 040Fh
					db 'Icelandic',0
					dd 0410h
					db 'Italian',0
					dd 0411h
					db 'Japanese',0
					dd 0412h
					db 'Korean',0
					dd 0413h
					db 'Dutch',0
					dd 0414h
					db 'Norwegian - Bokml',0
					dd 0415h
					db 'Polish',0
					dd 0416h
					db 'Brazilian Portuguese',0
					dd 0417h
					db 'Rhaeto-Romanic',0
					dd 0417h
					db 'Rhaeto-Romanic',0
					dd 0418h
					db 'Romanian',0
					dd 0419h
					db 'Russian',0
					dd 041Ah
					db 'Croato-Serbian (Latin)',0
					dd 041Bh
					db 'Slovak',0
					dd 041Ch
					db 'Albanian',0
					dd 041Dh
					db 'Swedish',0
					dd 041Eh
					db 'Thai',0
					dd 041Fh
					db 'Turkish',0
					dd 0420h
					db 'Urdu',0
					dd 0421h
					db 'Bahasa',0
					dd 0804h
					db 'Simplified Chinese',0
					dd 0807h
					db 'Swiss German',0
					dd 0809h
					db 'U.K. English',0
					dd 080Ah
					db 'Mexican Spanish',0
					dd 080Ch
					db 'Belgian French',0
					dd 0810h
					db 'Swiss Italian',0
					dd 0813h
					db 'Belgian Dutch',0
					dd 0814h
					db 'Norwegian - Nynorsk',0
					dd 0816h
					db 'Portuguese',0
					dd 081Ah
					db 'Serbo-Croatian (Cyrillic)',0
					dd 0C0Ch
					db 'Canadian French',0
					dd 100Ch
					db 'Swiss French',0
					dd 0,0

szVerCHS			dd 1200
					db 'Unicode',0
					dd 0
					db '7-bit ASCII',0
					dd 932
					db 'Japan (Shift - JIS X-0208)',0
					dd 949
					db 'Korea (Shift - KSC 5601)',0
					dd 950
					db 'Taiwan (GB5)',0
					dd 1250
					db 'Latin-2 (Eastern European)',0
					dd 1251
					db 'Cyrillic',0
					dd 1252
					db 'Multilingual',0
					dd 1253
					db 'Greek',0
					dd 1254
					db 'Turkish',0
					dd 1255
					db 'Hebrew',0
					dd 1256
					db 'Arabic',0
					dd 0,0

szVerTpe			db 'CompanyName',0
					db 'FileVersion',0
					db 'FileDescription',0
					db 'InternalName',0
					db 'LegalCopyright',0
					db 'LegalTrademarks',0
					db 'OriginalFilename',0
					db 'ProductName',0
					db 'ProductVersion',0
					db 0

szStringFileInfo	db 'StringFileInfo',0
szVarFileInfo		db 'VarFileInfo',0
szTranslation		db 'Translation',0

.data

defver				VERSIONMEM <"IDR_VERSION",1,1,0,0,0,1,0,0,0,4,0,409h,4B0h>
					VERSIONITEM <"FileVersion","1.0.0.0">
					VERSIONITEM <"ProductVersion","1.0.0.0">
					VERSIONITEM 30 dup(<>)

.data?

szVersionTxt		db 32*256 dup(?)

.code

ExportVersionNames proc uses esi edi,hMem:DWORD

	invoke GlobalAlloc,GMEM_FIXED or GMEM_ZEROINIT,1024*16
	mov     edi,eax
	invoke GlobalLock,edi
	push	edi
	mov		esi,hMem
	;#define
    .if [esi].VERSIONMEM.szname && [esi].VERSIONMEM.value
		invoke SaveStr,edi,addr szDEFINE
		add		edi,eax
		mov		al,' '
		stosb
		invoke SaveStr,edi,addr [esi].VERSIONMEM.szname
		add		edi,eax
		mov		al,' '
		stosb
		invoke ResEdBinToDec,[esi].VERSIONMEM.value,edi
		invoke lstrlen,edi
		lea		edi,[edi+eax]
		mov		al,0Dh
		stosb
		mov		al,0Ah
		stosb
	.endif
	mov		al,0
	stosb
	pop		eax
	ret

ExportVersionNames endp

ExportVersion proc uses esi edi,hMem:DWORD

	invoke GlobalAlloc,GMEM_FIXED or GMEM_ZEROINIT,1024*16
	mov     edi,eax
	invoke GlobalLock,edi
	push	edi
	mov		esi,hMem
	;Name or ID
    .if [esi].VERSIONMEM.szname
    	invoke lstrcpy,edi,addr [esi].VERSIONMEM.szname
	.else
		invoke ResEdBinToDec,[esi].VERSIONMEM.value,edi
	.endif
	invoke lstrlen,edi
	add		edi,eax
	mov		al,' '
	stosb
	invoke SaveStr,edi,addr szVERSIONINFO
	add		edi,eax
	mov		al,0Dh
	stosb
	mov		al,0Ah
	stosb
	;File version
	invoke SaveStr,edi,addr szFILEVERSION
	add		edi,eax
	mov		al,' '
	stosb
	push	esi
	lea		esi,[esi].VERSIONMEM.fv
	call	SaveVer
	pop		esi
	;Product version
	invoke SaveStr,edi,addr szPRODUCTVERSION
	add		edi,eax
	mov		al,' '
	stosb
	push	esi
	lea		esi,[esi].VERSIONMEM.pv
	call	SaveVer
	pop		esi
	;File OS
	invoke SaveStr,edi,addr szFILEOS
	add		edi,eax
	mov		al,' '
	stosb
	mov		eax,[esi].VERSIONMEM.os
	call	SaveHex
	;File type
	invoke SaveStr,edi,addr szFILETYPE
	add		edi,eax
	mov		al,' '
	stosb
	mov		eax,[esi].VERSIONMEM.ft
	call	SaveHex
	invoke SaveStr,edi,addr szBEGIN
	add		edi,eax
	mov		al,0Dh
	stosb
	mov		al,0Ah
	stosb
	mov		al,' '
	stosb
	stosb
	invoke SaveStr,edi,addr szBLOCK
	add		edi,eax
	mov		al,' '
	stosb
	mov		al,22h
	stosb
	invoke SaveStr,edi,addr szStringFileInfo
	add		edi,eax
	mov		al,22h
	stosb
	mov		al,0Dh
	stosb
	mov		al,0Ah
	stosb
	mov		al,' '
	stosb
	stosb
	invoke SaveStr,edi,addr szBEGIN
	add		edi,eax
	mov		al,0Dh
	stosb
	mov		al,0Ah
	stosb
	mov		al,' '
	stosb
	stosb
	stosb
	stosb
	invoke SaveStr,edi,addr szBLOCK
	add		edi,eax
	mov		al,' '
	stosb
	mov		al,22h
	stosb
	mov		eax,[esi].VERSIONMEM.lng
	invoke hexEax
	invoke lstrcpy,edi,offset strHex+4
	add		edi,4
	mov		eax,[esi].VERSIONMEM.chs
	invoke hexEax
	invoke lstrcpy,edi,offset strHex+4
	add		edi,4
	mov		al,22h
	stosb
	mov		al,0Dh
	stosb
	mov		al,0Ah
	stosb
	mov		al,' '
	stosb
	stosb
	stosb
	stosb
	invoke SaveStr,edi,addr szBEGIN
	add		edi,eax
	mov		al,0Dh
	stosb
	mov		al,0Ah
	stosb
	push	esi
	lea		esi,[esi+sizeof VERSIONMEM]
	.while TRUE
		.break .if ![esi].VERSIONITEM.szname
		.if [esi].VERSIONITEM.szvalue
			mov		al,' '
			stosb
			stosb
			stosb
			stosb
			stosb
			stosb
			invoke SaveStr,edi,addr szVALUE
			add		edi,eax
			mov		al,' '
			stosb
			mov		al,22h
			stosb
			invoke SaveStr,edi,addr [esi].VERSIONITEM.szname
			add		edi,eax
			mov		al,22h
			stosb
			mov		al,','
			stosb
			mov		al,' '
			stosb
			mov		al,22h
			stosb
			invoke SaveStr,edi,addr [esi].VERSIONITEM.szvalue
			add		edi,eax
			mov		al,'\'
			stosb
			mov		al,'0'
			stosb
			mov		al,22h
			stosb
			mov		al,0Dh
			stosb
			mov		al,0Ah
			stosb
		.endif

⌨️ 快捷键说明

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