📄 microjoiner.asm
字号:
; ----------------------------------------
;
; (C) Alex Demchenko (coban2k@mail.ru)
; http://www.cobans.net
;
; ----------------------------------------
; #########################################################################
.386
.model flat, stdcall
option casemap :none ; case sensitive
; #########################################################################
include kernel32.inc
include windows.inc
include user32.inc
include shlwapi.inc
include shell32.inc
include comdlg32.inc
include comctl32.inc
include aPlib\aplib.inc
include Resources\Stub.inc
include Resources\LangRu.inc
includelib user32.lib
includelib kernel32.lib
includelib shlwapi.lib
includelib shell32.lib
includelib comdlg32.lib
includelib comctl32.lib
includelib aPlib\aplib.lib
; #########################################################################
.const
PBS_SMOOTH equ 001
IDADDFILE equ 201
IDDELFILE equ 202
IDCLEAR equ 203
IDADVANCED equ 204
IDMELTING equ 107
IDCREATE equ 102
IDSETICON equ 103
IDABOUT equ 104
IDCHECKBOX equ 105
IDPROGRESS equ 106
IDCHECKBOX2 equ 107
MASK_VHIDE equ 256
MASK_VMAX equ 512
MASK_VMIN equ 1024
MASK_UNIQUE equ 2048
MASK_MELTING equ 4096
MASK_AUTO_RUN equ 8192
MASK_RUN equ 16384
MASK_MELT_BATCH equ 32768
MASK_FA_ARCHIVE equ 65536
MASK_FA_HIDDEN equ 131072
MASK_FA_READONL equ 262144
MASK_FA_SYSTEM equ 524288
OFN_ENABLESIZING equ 00800000h
MAX_FILES equ 4096
INVALID_FILE_ATTRIBUTES equ DWORD(-1)
STUB_FIX1 equ 469h
STUB_FIX2 equ 5D5h
.data?
D1 dd ?
D2 dd ?
D3 dd ?
hInstance dd ?
hListView dd ?
hMenu dd ?
hCreateButton dd ?
lpBuf db 1024*8 dup(?)
xFileTable db 4*(MAX_FILES+1) dup(?)
xFileParams db 4*(MAX_FILES+1) dup(?)
xFileDirs db 4*(MAX_FILES+1) dup(?)
xFileArgs db 4*(MAX_FILES+1) dup(?)
xFileCount dd ?
xItemSelected dd ?
xMelt dd ?
lpFile db 1024*8 dup(?)
lpIconBuf dd ?
lpStubMem dd ?
hWinMain dd ?
fProcessedOK db ?
hProgress dd ?
hCheckBox dd ?
cbLenMax dd ?
DoPackOption dd ?
szOutName db 1024 dup(?)
szMjpName db 1024 dup(?)
bModifyOutFile db ?
iccex INITCOMMONCONTROLSEX <>
ver OSVERSIONINFO <>
.data
szMeltScript3 db ":l",13,10,"del %2\%3",13,10,"if exist %2\%3 goto l",13,10,"del %0",0
szMeltScript2 db ":l",13,10,"del %2\%3",13,10,"if exist %2\%3 goto l",13,10,"copy %1 %2",13,10,"del %0",0
szMeltScript1 db ":l",13,10,"del %2\%3",13,10,"if exist %2\%3 goto l",13,10,"copy %1 %2\%3",13,10,"del %0",0
szMeltExt db "bat",0
szMeltFmtArg db '"%s" "%s" "%s"',0
szKey db "SOFTWARE\Microsoft\Windows\CurrentVersion\Run",0
dwSaveVer dd 00000001h
szMjpFilter db "MJ Project file (*.mjp)",0,"*.mjp",0,0
szMjpExt db ".mjp",0
szOutNameDef db "Joined.exe",0
szFilter db "Any file (*.*)",0,"*.*",0,0
szIconFilter db "Icon, Exe, DLL (*.ico, *.exe, *.dll)",0,"*.ico;*.exe;*.dll",0,0
szOutFilter db "Exe file (*.exe)",0,"*.exe",0,0
szOutExt db ".exe",0
IFNDEF LANG_RU
szFileLabel db "File",0
szSizeLabel db "Size",0
szAbout db "About",0
szAboutText db "MicroJoiner v1.6",13,10,"-------------------------------",13,10,"Written in pure Assembly",13,10,"Author: coban2k",13,10,"Web: www.cobans.net",0
szOpenError db "Error: Could not open file",0
szNotIcon db "Error: Not an icon file",0
szReadError db "Error: Could not read file",0
szEmptyError db "Error: Nothing to join",0
szCreateError db "Error: Could not create output file",0
szWriteError db "Error: Could not read one of the specified files, fix the problem and try again.",0
szIconFindErr db "Error: Could not find any icons in a file",0
szVerError db "Error: Invalid mjp file",0
szProjSaved db "Project saved",0
szToolTip db "Use Right Mouse Button to specify output filename",0
szSuccessTxt db "%s file created: %lu Kb",13,10,"Files processed: %lu",0
szSuccess db "Success!",0
hdrFmt db "%s: advanced settings",0
ENDIF
IFDEF LANG_HW
szFileLabel db "麇狨",0
szSizeLabel db "忮沆",0
szAbout db "噱沐
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -