assofile.asm
来自「一个十六进制编辑器源代码,cool!」· 汇编 代码 · 共 47 行
ASM
47 行
_assofile proto
.data
szTipassofile db '关联文件后更方便打开文件',13,13
db '[是]->设置关联',13
db '[否]->取消关联',0
.code
_assofile proc uses esi
local lpfnName,@szBuf[255]:BYTE, @szBufParam[300]:BYTE,@szShortPathName[255]:BYTE
local mb:MSGBOXPARAMSA
lea esi,@szBuf
invoke GetModuleFileName,hInstDll,esi,255
invoke GetShortPathName,esi,addr @szShortPathName,255
lea esi,@szShortPathName
;_msgbox esi,addr @szBuf
;ret
mov mb.cbSize,sizeof MSGBOXPARAMSA
mov mb.lpszCaption,offset szAppName
mov mb.lpszText,offset szTipassofile
m2m mb.hInstance,hInstance
m2m mb.hwndOwner,hWnd
mov mb.lpszIcon,IDI_MAIN
mov mb.dwStyle,MB_USERICON or MB_YESNOCANCEL
xor eax,eax
mov mb.dwContextHelpId,eax
mov mb.lpfnMsgBoxCallback,eax
mov mb.dwLanguageId,eax
invoke MessageBoxIndirect,addr mb
push esi
.if eax==IDYES
push ctext("regsvr32 %s")
.elseif eax==IDNO
push ctext("regsvr32 /u %s")
.else
pop esi
ret
.endif
lea eax,@szBufParam
push eax
call wsprintf
add esp,4*3
invoke WinExec,addr @szBufParam,5
invoke GetModuleFileName,0,addr @szBuf,255
invoke WriteProfileString,ctext("xHex"),ctext("Path"),addr @szBuf ;win.ini
ret
_assofile endp
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?