Тема: AHK: Вырез части окна по данным из ini файла
Здравствуйте.
Помогите поправить скрипт.
Скрипт autohotkey вырезает область из конкретного окна экселя и оформляет его как gui (данные берет из ini).
Set := SubStr(A_ScriptName, 1, -4) . ".ini"
OnExit, Exit
;Чтение настроек:
IniRead, X, % Set, Win, X, 860
IniRead, Y, % Set, Win, Y, 121
IniRead, W, % Set, Win, W, 350
IniRead, H, % Set, Win, H, 550
IniRead, Color, % Set, Win, Color, 123456
IniRead, XM, % Set, Win, XM, -860
IniRead, YM, % Set, Win, YM, -121
IniRead, GW, % Set, Win, GW, 350
IniRead, GH, % Set, Win, GH, 550
F3::
WinExist("ahk_class TMainForm")
WinSet, Style, -0x00C00000 ; WS_CAPTION
WinSet, Style, -0x00040000 ; WS_SIZEBOX
WinSet, Style, +0x80000000 ; WS_POPUP
WinSet, Region, % X "-" Y " W" W " H" H ; 860-121 W350 H550
Gui, +HWNDhGui
Gui, Color, % Color
Gui, Show, % "w" GW " h" GH ; w350 h550
DllCall("SetParent", "Ptr", WinExist(), "Ptr", hGui)
WinMove, % XM, % YM ; -860, -121
Return
Exit: ; Сохранить при выходе файл настроек.
IniWrite, % X, % Set, Win, X
IniWrite, % Y, % Set, Win, Y
IniWrite, % W, % Set, Win, W
IniWrite, % H, % Set, Win, H
IniWrite, % Color, % Set, Win, Color
IniWrite, % XM, % Set, Win, XM
IniWrite, % YM, % Set, Win, YM
IniWrite, % GW, % Set, Win, GW
IniWrite, % GH, % Set, Win, GH
ExitApp
Return
За координаты и ширину-высоту вырезаемой области отвечает вот этот кусок:
WinSet, Region, % X "-" Y " W" W " H" H ; 860-121 W350 H550
(сейчас размеры вырезаемой области четко прописаны в абсолютных величинах)
Как изменить скрипт чтобы он брал параметры координат-ширины-высоты вырезаемой области из txt или ini файла - как процент от размеров окна ?
WinSet, Region, ШиринаОкна*0,51-ВысотаОкна*0,48 W(ШиринаОкна*0,36) H*(ВысотаОкна*0,43)