1

Тема: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

Добрый день! Подскажите, пожалуйста, как отобразить окно с данными значения х, y, h, w


x = 963
y = 539
w = 4
h = 2

x = 953
y = 539
w = 4
h = 2

x = 959
y = 543
w = 2
h = 4

x = 959
y = 533
w = 2
h = 4

Окно должно быть:


Color = 00FB1B
WS_EX_TRANSPARENT := 0x20
WS_EX_LAYERED := 0x80000
Gui, +AlwaysOnTop -Caption +ToolWindow
Gui, Color, % Color
WinSet, ExStyle, % "+" WS_EX_LAYERED|WS_EX_TRANSPARENT

2

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

MyText =
(
x = 963
y = 539
w = 4
h = 2

x = 953
y = 539
w = 4
h = 2

x = 959
y = 543
w = 2
h = 4

x = 959
y = 533
w = 2
h = 4
)


Color = 00FB1B
WS_EX_TRANSPARENT := 0x20
WS_EX_LAYERED := 0x80000
GUI +HwndMyGuiHwnd
GUI, +AlwaysOnTop -Caption +ToolWindow
GUI, Color, % Color
GUI, Add, Text, , %MyText%
GUI, Show
WinSet, ExStyle, % "+" WS_EX_LAYERED|WS_EX_TRANSPARENT, ahk_id %MyGuiHwnd%

3

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

ypppu
Огромное спасибо!

4 (изменено: SuBrex, 2020-07-03 19:48:24)

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

ypppu
Прошу прощения.... Дело в том, что исходный код:


x = 963
y = 539
w = 4
h = 2
Color = 00FB1B
WS_EX_TRANSPARENT := 0x20
WS_EX_LAYERED := 0x80000
Gui, +AlwaysOnTop -Caption +ToolWindow +LastFound
Gui, Color, % Color
Gui, Show, x%x% y%y% w%w% h%h% NA
WinSet, ExStyle, % "+" WS_EX_LAYERED|WS_EX_TRANSPARENT

x = 953
y = 539
w = 4
h = 2
Color = 00FB1B
WS_EX_TRANSPARENT := 0x20
WS_EX_LAYERED := 0x80000
Gui, New, +AlwaysOnTop -Caption +ToolWindow +LastFound
Gui, Color, % Color
Gui, Show, x%x% y%y% w%w% h%h% NA
WinSet, ExStyle, % "+" WS_EX_LAYERED|WS_EX_TRANSPARENT

x = 959
y = 543
w = 2
h = 4
Color = 00FB1B
WS_EX_TRANSPARENT := 0x20
WS_EX_LAYERED := 0x80000
Gui, New, +AlwaysOnTop -Caption +ToolWindow +LastFound
Gui, Color, % Color
Gui, Show, x%x% y%y% w%w% h%h% NA
WinSet, ExStyle, % "+" WS_EX_LAYERED|WS_EX_TRANSPARENT

x = 959
y = 533
w = 2
h = 4
Color = 00FB1B
WS_EX_TRANSPARENT := 0x20
WS_EX_LAYERED := 0x80000
Gui, New, +AlwaysOnTop -Caption +ToolWindow +LastFound
Gui, Color, % Color
Gui, Show, x%x% y%y% w%w% h%h% NA
WinSet, ExStyle, % "+" WS_EX_LAYERED|WS_EX_TRANSPARENT

Можно заметить, что создаётся четыре окна. Мне нужно, чтобы они и были одним целым, одним окном. Это возможно?
Ваш вариант вывел мне текст на экран .

5

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w


WS_EX_TRANSPARENT := 0x20
Gui, New, +AlwaysOnTop -Caption +ToolWindow +LastFound +E%WS_EX_TRANSPARENT%
Gui, Color, 123456
WinSet, TransColor, 123456

for k, v in [ {x: 963, y: 539, w: 114, h: 112, Color: "00FB1B"}
            , {x: 363, y: 339, w: 114, h: 112, Color: "FFE793"}
            , {x: 963, y: 39, w: 114, h: 112, Color: "242E50"}
            , {x: 63, y: 539, w: 114, h: 112, Color: "2741A1"} ]
{ 
	Gui, Add, Progress, % " x" v.x " y" v.y  " w" v.w " h" v.h " Background" v.Color 
}
Gui, Show, % "NA x" . 0 . " y" . 0 . " w" . A_ScreenWidth . " h" A_ScreenHeight
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v2004, AutoHotkey_L v1.1.33.02 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

6 (изменено: SuBrex, 2020-05-24 20:38:16)

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

serzh82saratov
Окно не отобразилось.

7

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

x_min := y_min := 0xFFFFFFFF, w_max := h_max := 0
coords := [ {x: 963, y: 539, w: 114, h: 112}
          , {x: 363, y: 339, w: 114, h: 112}
          , {x: 963, y:  39, w: 114, h: 112}
          , {x:  63, y: 539, w: 114, h: 112} ]
          
for k, v in coords {
   (v.x < x_min && x_min := v.x)
   (v.y < y_min && y_min := v.y)
}
for k, v in coords {
   w := v.x + v.w
   h := v.y + v.h
   (w > w_max && w_max := w)
   (h > h_max && h_max := h)
   Gui, Add, Progress, % " x" . (v.x - x_min) . " y" . (v.y - y_min) . " w" . v.w . " h" . v.h . " Background00FB1B"
}
Gui, Show, % "x" . x_min . " y" . y_min . " w" . (w_max - x_min) . " h" . (h_max - y_min)

Так, что ли?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

8

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

SuBrex пишет:

serzh82saratov
Окно не отобразилось.

Монитор один?
Версия виндовс?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v2004, AutoHotkey_L v1.1.33.02 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

9 (изменено: SuBrex, 2020-07-03 19:48:39)

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

serzh82saratov
Да, один.
Windows 7 Профессиональная.

10

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

Не знаю тогда, должны появляться квадраты.

Попробуйте в начало добавить.


#Persistent
#NoEnv
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v2004, AutoHotkey_L v1.1.33.02 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

11

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

serzh82saratov
Всё равно не отобразилось.
Могу добавить, если это упростит вопрос. Мне вообще не важно сколько там открывается окон. Мне нужно их закрывать в самом скрипте. Есть команда Gui, Destroy, но сделав цикл из четырёх данных команд. У меня закрывается только 2 окна из 4. Вот главный корень моей проблемы.

12

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

Должно отобразится, даже если выключена композиция рабочего стола (аеро), то по идее должно отобразится непрозрачное окно во весь экран.

SuBrex пишет:

У меня закрывается только 2 окна из 4. Вот главный корень моей проблемы.

Тут главный корень проблемы что никто не видит этот самый код. Поэтому могу предложить вам указать в коде скрытие 4 окон, а не 2.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v2004, AutoHotkey_L v1.1.33.02 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

13

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

serzh82saratov
Код небольшой, могу показать.


Inactive:
Loop, 8
 {
 Gui, Destroy
 }
x = 963
y = 539
w = 4
h = 2
Color = 00FB1B
WS_EX_TRANSPARENT := 0x20
WS_EX_LAYERED := 0x80000
Gui, +AlwaysOnTop -Caption +ToolWindow +LastFound
Gui, Color, % Color
Gui, Show, x%x% y%y% w%w% h%h% NA
WinSet, ExStyle, % "+" WS_EX_LAYERED|WS_EX_TRANSPARENT

x = 953
y = 539
w = 4
h = 2
Color = 00FB1B
WS_EX_TRANSPARENT := 0x20
WS_EX_LAYERED := 0x80000
Gui, New, +AlwaysOnTop -Caption +ToolWindow +LastFound
Gui, Color, % Color
Gui, Show, x%x% y%y% w%w% h%h% NA
WinSet, ExStyle, % "+" WS_EX_LAYERED|WS_EX_TRANSPARENT

x = 959
y = 543
w = 2
h = 4
Color = 00FB1B
WS_EX_TRANSPARENT := 0x20
WS_EX_LAYERED := 0x80000
Gui, New, +AlwaysOnTop -Caption +ToolWindow +LastFound
Gui, Color, % Color
Gui, Show, x%x% y%y% w%w% h%h% NA
WinSet, ExStyle, % "+" WS_EX_LAYERED|WS_EX_TRANSPARENT

x = 959
y = 533
w = 2
h = 4
Color = 00FB1B
WS_EX_TRANSPARENT := 0x20
WS_EX_LAYERED := 0x80000
Gui, New, +AlwaysOnTop -Caption +ToolWindow +LastFound
Gui, Color, % Color
Gui, Show, x%x% y%y% w%w% h%h% NA
WinSet, ExStyle, % "+" WS_EX_LAYERED|WS_EX_TRANSPARENT

Loop
 {
 GetKeyState, state, LButton
 If state=D
 Goto, Active
 }
Return



Active:
Loop, 8
 {
 Gui, Destroy
 }
x = 963
y = 539
w = 4
h = 2
Color = FB0000
WS_EX_TRANSPARENT := 0x20
WS_EX_LAYERED := 0x80000
Gui, +AlwaysOnTop -Caption +ToolWindow +LastFound
Gui, Color, % Color
Gui, Show, x%x% y%y% w%w% h%h% NA
WinSet, ExStyle, % "+" WS_EX_LAYERED|WS_EX_TRANSPARENT

x = 953
y = 539
w = 4
h = 2
Color = FB0000
WS_EX_TRANSPARENT := 0x20
WS_EX_LAYERED := 0x80000
Gui, New, +AlwaysOnTop -Caption +ToolWindow +LastFound
Gui, Color, % Color
Gui, Show, x%x% y%y% w%w% h%h% NA
WinSet, ExStyle, % "+" WS_EX_LAYERED|WS_EX_TRANSPARENT

x = 959
y = 543
w = 2
h = 4
Color = FB0000
WS_EX_TRANSPARENT := 0x20
WS_EX_LAYERED := 0x80000
Gui, New, +AlwaysOnTop -Caption +ToolWindow +LastFound
Gui, Color, % Color
Gui, Show, x%x% y%y% w%w% h%h% NA
WinSet, ExStyle, % "+" WS_EX_LAYERED|WS_EX_TRANSPARENT

x = 959
y = 533
w = 2
h = 4
Color = FB0000
WS_EX_TRANSPARENT := 0x20
WS_EX_LAYERED := 0x80000
Gui, New, +AlwaysOnTop -Caption +ToolWindow +LastFound
Gui, Color, % Color
Gui, Show, x%x% y%y% w%w% h%h% NA
WinSet, ExStyle, % "+" WS_EX_LAYERED|WS_EX_TRANSPAREN

Loop
 {
 GetKeyState, state, LButton
 if state = U
 Goto, Inactive
 }
Return

14

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

SuBrex пишет:

Код небольшой

Код большой, и вам предложили его сократить в изначальной теме.

Зачем Destroy, если надо просто изменить цвет.
На 1 и 2 можно скрыть и показать окна.


ActiveColor = FB0000
InActiveColor = 00FB1B
Active := GetKeyState("LButton")

WS_EX_TRANSPARENT := 0x20

arr := [ {x: 963, y: 539, w: 4, h: 2}
            , {x: 953, y: 539, w: 4, h: 2}
            , {x: 959, y: 543, w: 2, h: 4}
            , {x: 959, y: 533, w: 2, h: 4} ]
			
for k, v in arr
{
   Gui, New, +AlwaysOnTop -Caption +ToolWindow +LastFound +E%WS_EX_TRANSPARENT% +HwndhGui%k%
   WinSet, Transparent, 255
   Gui, Color, % Active ? ActiveColor : InActiveColor
   Gui, Show, % "NA x" . v.x . " y" . v.y . " w" . v.w . " h" v.h
}
Return

#If !Active && (1, Active := 1)
~LButton::
	for k, v in arr
		Gui, % hGui%k% ":Color", % ActiveColor
	Return
	
#If Active && (1, Active := 0)
~LButton Up::
	for k, v in arr
		Gui, % hGui%k% ":Color", % InActiveColor
	Return
#If
 
1::
	for k, v in arr
		Gui, % hGui%k% ":Show", Hide
	Return
	
2::
	for k, v in arr
		Gui, % hGui%k% ":Show", NA
	Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v2004, AutoHotkey_L v1.1.33.02 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

15

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

serzh82saratov
Ну наконец-то это всё закончилось. Спасибо Вам!

16 (изменено: SuBrex, 2020-07-03 19:48:58)

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

serzh82saratov
Ах, да, зачем даны значения клавишам "1" "2".
Просто при работе скрипта они не нажимаются.

17

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

Затем чтобы вы поняли как можно скрыть и показать окна.
Если не знаете как их удалить, создайте тему.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v2004, AutoHotkey_L v1.1.33.02 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

18

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

serzh82saratov
Теперь точно спасибо!

19 (изменено: SuBrex, 2020-07-03 19:46:30)

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

serzh82saratov
Прошу прощения, подскажите, могу ли использовать переменные за место точных значений в фрагменте кода:


arr := [ {x: 963, y: 539, w: 4, h: 2}
       , {x: 953, y: 539, w: 4, h: 2}
       , {x: 959, y: 543, w: 2, h: 4}
       , {x: 959, y: 533, w: 2, h: 4} ]
			
for k, v in arr
 {
  Gui, New, +AlwaysOnTop -Caption +ToolWindow +LastFound +E%WS_EX_TRANSPARENT% +HwndhGui%k%
  WinSet, Transparent, 255
  Gui, Color, % Active ? ActiveColor : InActiveColor
  Gui, Show, % "NA x" . v.x . " y" . v.y . " w" . v.w . " h" v.h
 }

То есть как пример:


arr := [ {x: %x1%, y: %y1%, w: %w1%, h: %h1%}
       , {x: 953, y: 539, w: 4, h: 2}
       , {x: 959, y: 543, w: 2, h: 4}
       , {x: 959, y: 533, w: 2, h: 4} ]
			
for k, v in arr
 {
  Gui, New, +AlwaysOnTop -Caption +ToolWindow +LastFound +E%WS_EX_TRANSPARENT% +HwndhGui%k%
  WinSet, Transparent, 255
  Gui, Color, % Active ? ActiveColor : InActiveColor
  Gui, Show, % "NA x" . v.x . " y" . v.y . " w" . v.w . " h" v.h
 }

20

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

Проценты в выражении не надо использовать.

{x: x1, y: y1, w: w1, h: h1}
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v2004, AutoHotkey_L v1.1.33.02 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

21

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

serzh82saratov
Прекрасно, благодарю!
Также. Можно-ли удалить данное окно (на каком-то этапе уже не нужно в скрипте) и какой командой?

22

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

Gui, Destroy
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v2004, AutoHotkey_L v1.1.33.02 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

23

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

serzh82saratov
Попробовал, не удалилось.
Также пытался писать for k, v in arr, также безуспешно.

24

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

1::
	for k, v in arr
		Gui, % hGui%k% ":Destroy"
	Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v2004, AutoHotkey_L v1.1.33.02 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

25

Re: AHK: Gui, Show, отображение окна с 4(!) параметрами х, y, h, w

serzh82saratov
Всё сработало, спасибо!