Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

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

Аватара для semiono

Ветеран


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

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


Fasm + XMLStarlet

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

        invoke SHGetSpecialFolderPath,NULL,b,CSIDL_APPDATA,NULL
        invoke lstrcat,b,'\Steinberg\Nuendo 4'

        invoke GetSystemMetrics,SM_CXSCREEN
        invoke wsprintf,a,\
               '/c xml ed -S -O -u "/Defaults/list/item[string[@value=''PArrangeWindow'']]/member/obj[@name=''Size'']/int[@name=''H'']/@value" -v %d Defaults.xml> tmp && move /y tmp Defaults.xml',eax
        invoke ShellExecute,NULL,NULL,'cmd.exe',a,b,SW_HIDE

        invoke GetSystemMetrics,SM_CYSCREEN
        sub eax,52
        invoke wsprintf,a,\
               '/c xml ed -S -O -u "/Defaults/list/item[string[@value=''PArrangeWindow'']]/member/obj[@name=''Size'']/int[@name=''V'']/@value" -v %d Defaults.xml> tmp && move /y tmp Defaults.xml',eax
        invoke ShellExecute,NULL,NULL,'cmd.exe',a,b,SW_HIDE

        invoke GetSystemMetrics,SM_CXSCREEN
        shr eax,1
        sub eax,399
        invoke wsprintf,a,\
               '/c xml ed -S -O -u "/Defaults/list/item[string[@value=''TransportWindow'']]/member/obj/int[@name=''H'']/@value" -v %d Defaults.xml> tmp && move /y tmp Defaults.xml',eax
        invoke ShellExecute,NULL,NULL,'cmd.exe',a,b,SW_HIDE

        invoke GetSystemMetrics,SM_CYSCREEN
        sub eax,220
        invoke wsprintf,a,\
               '/c xml ed -S -O -u "/Defaults/list/item[string[@value=''TransportWindow'']]/member/obj/int[@name=''V'']/@value" -v %d Defaults.xml> tmp && move /y tmp Defaults.xml && del tmp',eax
        invoke ShellExecute,NULL,NULL,'cmd.exe',a,b,SW_HIDE
exit:
        invoke ExitProcess,NULL

section '.data' readable writeable

        a rb MAX_PATH
        b rb MAX_PATH

section '.idata' import readable

        library kernel32,'KERNEL32.DLL',shell32,'SHELL32.DLL',user32,'USER32.DLL'
        include '%fasm%/api/kernel32.inc'
        include '%fasm%/api/shell32.inc'
        include '%fasm%/api/user32.inc'
Устанавливает размеры окна программы относительно разрешения экрана.

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

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:26, 10-03-2013 | #7