Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для semiono

Ветеран


Сообщения: 842
Благодарности: 33

Профиль | Отправить PM | Цитировать


Цитата megaloman:
%~n1.exe »
Удивительно, но это работает.


Цитата YuS_2:
%~n1 - то же самое, но из параметра выделяется имя файла по последней точке в полном имени (если, конечно, расширение у него есть) »
Это самое трудное в cmd/bat, визуально ничего не напоминает, хотя регэкспы ещё труднее))
Но на этот раз кажется понял.

А вот на Fasm

Код: Выделить весь код
include '%fasm%/win64ax.inc'
section '.code' executable
start:
        sub rsp,8

        invoke SHGetSpecialFolderPath,NULL,a,CSIDL_PROGRAM_FILES,NULL
        invoke PathAddBackslash,a
        invoke lstrcat,a,'Au3Info'
        invoke PathAddBackslash,a
        invoke lstrcat,a,'Aut2exe.exe'

        invoke GetBinaryType,a,z
        cmp eax,NULL
        jz exit

        invoke SHGetSpecialFolderPath,NULL,b,CSIDL_WINDOWS,NULL
        invoke PathAddBackslash,b
        invoke lstrcat,b,'exec.ico'

        invoke GetCommandLine
        mov ebx,eax
@@:
        cmp byte [ebx],NULL
        je  sh
        cmp byte [ebx],' '
        je  @f
        inc ebx
        jmp @r
@@:
        inc ebx
        cmp byte [ebx],' '
        je  @r

        mov [i],ebx
        invoke lstrcat,c,[i]
        invoke PathRemoveExtension,[i]
        invoke PathAddExtension,[i],'.exe'

        invoke wsprintf,f,'/in %s /icon %s /nopack /ansi /x64 /gui /companyname "New" /filedescription "%s" /fileversion "1.0.0.0" /legalcopyright "(c)" /productname "%s" /productversion "1.0.0.0"',c,b,[i],[i]
sh:
        invoke ShellExecute,NULL,NULL,a,f,NULL,SW_NORMAL
exit:
        invoke ExitProcess,NULL

section '.data' readable writable

        a rb MAX_PATH
        b rb MAX_PATH
        c rb MAX_PATH
        f rb MAX_PATH
        i dd MAX_PATH
        z dd NULL

section '.idata' import readable

        library kernel32,'KERNEL32.DLL',shell32,'SHELL32.DLL',shlwapi,'SHLWAPI.DLL',user32,'USER32.DLL'
        include '%fasm%/api/kernel32.inc'
        include '%fasm%/api/shell32.inc'
        include '%fasm%/api/shlwapi.inc'
        include '%fasm%/api/user32.inc'

-------
Полезное сообщение


Отправлено: 20:33, 13-01-2023 | #6