<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; Открытие окна поверх игры, оверлей]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=15981&amp;type=atom" />
	<updated>2021-01-20T13:21:07Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=15981</id>
		<entry>
			<title type="html"><![CDATA[Re: Открытие окна поверх игры, оверлей]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=145105#p145105" />
			<content type="html"><![CDATA[<p><strong>__Михаил__</strong><br />Я с предоставленным кодом то еще не до конца разобрался, какой мне отсев <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Michael]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=41356</uri>
			</author>
			<updated>2021-01-20T13:21:07Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=145105#p145105</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Открытие окна поверх игры, оверлей]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=145065#p145065" />
			<content type="html"><![CDATA[<p><strong>Michael</strong></p><p>Поиск на сайтах? Ну это явно не для новичка.<br />А вот отсев по остановке, думаю очень даже полезно прикрутить, иначе так и будут всякие системные процессы появляться постоянно - а это не дело.</p>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2021-01-19T16:46:30Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=145065#p145065</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Открытие окна поверх игры, оверлей]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=145027#p145027" />
			<content type="html"><![CDATA[<p><strong>__Михаил__</strong><br />Можно добавить, но, думаю, это уже лишнее, скрипт работает так, как нужно, затрачивая минимум времени и добавляя удобство.<br />Сейчас хочу начать еще один небольшой проектик &quot;<a href="http://forum.script-coding.com/viewtopic.php?id=16000">Поиск на Ютубе / Хром</a>&quot;, но, видимо, мне тут уже не рады <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Michael]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=41356</uri>
			</author>
			<updated>2021-01-19T04:05:11Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=145027#p145027</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Открытие окна поверх игры, оверлей]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=145025#p145025" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong><br />В текущем состоянии &#039;одну программу&#039; - я это и имел в виду.</p><p><strong>Michael</strong><br />Можно добавить список исключений, но легче будет переделать на постоянный отсев пока не нажата клавиша &#039;Стоп&#039;.</p>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2021-01-19T00:26:48Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=145025#p145025</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Открытие окна поверх игры, оверлей]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=144991#p144991" />
			<content type="html"><![CDATA[<p><strong>stealzy</strong><br />Благодарю! Теперь всё запускается, остальные команды работают также на УРА! Еще и вебку отразил, как нужно, кайф <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><p>Итоговый скрипт (может кому-то будет полезно):<br /></p><div class="codebox"><pre><code>#SingleInstance Force
#NoEnv
SetBatchLines -1

Name = Cam OverLay

GroupAdd, AppGroup, % Name


;Gui +ToolWindow
Gui Add, Button, x125 y50 w102 h23, Подтвердить
Gui Add, ListBox, vG1 gПодтвердить hwndhListbox x25 y151 w196 h160
Gui Add, Button, gNewApp hwndhBut x125 y19 w102 h23, Отследить игру
Gui Add, Button, gGames x15 y19 w102 h23, Папка GAMES
Gui Add, Button, gOBS x15 y50 w102 h23, Запустить OBS
Gui Add, Button, gReverse x125 y104 w102 h23, Реверс
Gui Add, Text, x18 y90 w210 h2 +0x10
Gui Add, GroupBox, x18 y134 w211 h188, Выбрать процесс
Gui Add, Edit, hwndhSear gGet vPoisk x17 y105 w100 h21, Поиск процесса...


for Process in ComObjGet(&quot;Winmgmts:&quot;).ExecQuery(&quot;Select * From Win32_Process&quot;)
 Txt .= Process.Caption &quot;|&quot;

GuiControl,, % hListbox, % Txt	; Вставить из переменной.

Gui Show, w246 h340, % Name
Return

GuiEscape:
GuiClose:
ExitApp

Games:
Run, C:\Users\Администратор\Desktop\Games
Return

OBS:
Run, C:\Program Files\obs-studio\bin\64bit\obs64.exe, C:\Program Files\obs-studio\bin\64bit\
Return

#IfWinActive, Ahk_Group AppGroup

; Перехват клавиши Enter в своём окне:
Enter::
KeyWait, %A_ThisHotkey%, U

ControlGetFocus, F_Now, % Name	; Получить текущий выбранный контрол.
If (F_Now = &quot;ListBox1&quot;)		; Если фокус на списке сохранить пункт и выйти:
{
 Gui, Submit, NoHide
 ToolTip, Переменная = %G1%
 Sleep, 300
 ToolTip
 Return
}
Else If (F_Now = &quot;Edit1&quot;)	; Поиск в списке:
{
 GoTo, Get
}

;Else
; Send, {%A_ThisHotkey%}	; Нажать Enter если нет совпадений.
Return

#If


Get:
Gui, Submit, NoHide
T=
Loop, Parse, Txt, |
{
 If InStr(A_LoopField, Poisk)
 {
  SendMessage, 390, A_Index-1, 0,, ahk_id %hListbox%	; Выделить найденный пункт.
  T := A_Index
  Break
 }
}
If !T
{
 ToolTip, Нет такого.,0,0
 Sleep, 400
}
ToolTip
Return


Подтвердить:
Gui, Submit, NoHide
;ToolTip, Пункт: %G1% ; отображение выбранного пункта
Return


Reverse:
Reverse := !Reverse
GoSub, App

If Reverse
 Sort, Txt, R D|

GuiControl,, % hListbox, |	; Очистить список.
GuiControl,, % hListbox, % Txt	; Вставить из переменной.
Return


NewApp:
Txt2 := Txt			; Резерв тек. списка.
GuiControl,, % hListbox, |	; Очистить список.
GuiControl,, % hListbox, &quot;Ожидание...&quot;
GuiControl, Disable, % hBut	; Блок кнопки.
GuiControl, Disable, % hSear	; Разблок поиска.
SetTimer, NewP, 1000		; Тест каждую секунду.
Return


NewP:	; Отсев новых программ.
GoSub, App
Txt_New = 
D = |
Loop, Parse, Txt, %D%
{
 If !InStr(D Txt2 D, D A_LoopField D)
  Txt_New := A_LoopField &quot;|&quot;
}
If Txt_New
{
 Txt := Txt_New
 SetTimer, NewP, Off		; Выключить тестер.
 GuiControl,, % hListbox, |	; Очистить список.
 GuiControl,, % hListbox, % Txt_New	; Вставить из переменной.
 GuiControl, Enable, % hBut	; Разблок кнопки.
 GuiControl, Enable, % hSear	; Разблок поиска.
}
Return

App:	; Создать список запущенных.
Txt = 
for Process in ComObjGet(&quot;Winmgmts:&quot;).ExecQuery(&quot;Select * From Win32_Process&quot;)
 Txt .= Process.Caption &quot;|&quot;
Return

F9:: 
 ;	If Not ОкноБезРамокДляИгр       
	{	
		BorderSize:=0
	    WinMove, ahk_exe %G1%,, -BorderSize, -BorderSize, 1920+2*BorderSize, 1080+2*BorderSize
		WinSet, Style, -0xC00000, ahk_exe %G1% ; убрать рамку
;		ОкноБезРамокДляИгр := true
	}

;	If Not ОкноБезРамокДляВебки
	{
		WinMove Оконный проектор (Источник) - Вебка,, 0, 0, 408, 308 ; перемещаем окошко в угол + ресайз
		WinSet Style, -0x800000, Оконный проектор (Источник) - Вебка ; -рамка
		WinSet Style, -0x40000, Оконный проектор (Источник) - Вебка ; -рамка
		WinSet Style, -0x400000, Оконный проектор (Источник) - Вебка ; -рамка
;		ОкноБезРамокДляВебки := true
	}

	IfWinExist ahk_class Qt5152QWindowIcon ahk_exe obs64.exe
	{
		WinGet ExStyle, ExStyle
		if Not (ExStyle &amp; 0x8)  ; 0x8 is WS_EX_TOPMOST. The window is always-on-top.
		{
			WinSet ExStyle, +0x20 ; чтобы клики проходили сквозь окошко
			WinSet Transparent, 255 ; прозрачность окна: 0 - максимальная, 255 - непрозрачное 
			WinSet AlwaysOnTop, On
		} else 
		 {
			WinSet ExStyle, -0x20
			WinSet Transparent, 255
			WinSet AlwaysOnTop, Off
			; переключаем режим &quot;поверх всех&quot; в окне игры, чтобы окошко ушло на задний план
			WinSet AlwaysOnTop, On, A
			WinSet AlwaysOnTop, Off, A
		 }
	}
Return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Michael]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=41356</uri>
			</author>
			<updated>2021-01-18T16:26:57Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=144991#p144991</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Открытие окна поверх игры, оверлей]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=144986#p144986" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Michael пишет:</cite><blockquote><p>не поддерживаем запуск заданий из-за пределов текущего рабочего каталога</p></blockquote></div><p>У команды Run есть параметр WorkingDir.<br />Не знаю почему, но по умолчанию используется директория скрипта, а не запускаемой программы.</p>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2021-01-18T13:48:39Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=144986#p144986</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Открытие окна поверх игры, оверлей]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=144973#p144973" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>__Михаил__ пишет:</cite><blockquote><p>Вот так находит, только 1 программу.</p></blockquote></div><p>Не одну, а последнюю не совпавшую.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2021-01-17T20:59:15Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=144973#p144973</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Открытие окна поверх игры, оверлей]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=144972#p144972" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong><br />Благодарю!</p><p><strong>__Михаил__</strong><br /><span class="bbu">Большое спасибо!</span> Собственно, все работает, запускаемое окно с игрой он находит, но есть один нюанс, иногда нужно дважды/трижды выполнять поиск, т.к. иногда вместо игрового процесса отображается audiodg.exe (не понимаю, почему)<br />Начал доработку ГУИ и скрипта под свои нужды, возникла еще одна проблемка <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /><br />Сделал кнопку, для запуска ОБСки, но она выдает ошибку при запуске. С кнопкой всё отлично, и другие ЛЮБЫЕ программы стартуют прекрасно, кроме неё. С правами админа - тоже самое.<br />Нарыл похожую проблему у человека <a href="https://github.com/obsproject/obs-studio/issues/2966">https://github.com/obsproject/obs-studio/issues/2966</a><br /></p><div class="quotebox"><blockquote><p>Это ожидаемо, мы не поддерживаем запуск заданий из-за пределов текущего рабочего каталога</p></blockquote></div><p><strong>Можно как-то это дело обойти?</strong><br /><span class="bbu">Текущий полный скрипт с изменениями:</span> (если кому интересно)<br /></p><div class="codebox"><pre><code>#SingleInstance Force
#NoEnv
SetBatchLines -1

Name = Cam OverLay

GroupAdd, AppGroup, % Name


;Gui +ToolWindow
Gui Add, Button, x125 y50 w102 h23, Подтвердить
Gui Add, ListBox, vG1 gПодтвердить hwndhListbox x25 y151 w196 h160
Gui Add, Button, gNewApp hwndhBut x125 y19 w102 h23, Отследить игру
Gui Add, Button, gGames x15 y19 w102 h23, Папка GAMES
Gui Add, Button, gOBS x15 y50 w102 h23, Запустить OBS
Gui Add, Button, gReverse x125 y104 w102 h23, Реверс
Gui Add, Text, x18 y90 w210 h2 +0x10
Gui Add, GroupBox, x18 y134 w211 h188, Выбрать процесс
Gui Add, Edit, hwndhSear gGet vPoisk x17 y105 w100 h21, Поиск процесса...
;Gui Add, Edit, gGet vPoisk x8 y16 w200 h21, Поиск...	; Ищет сразу, если не нужно убрать &#039;gGet&#039;.
;Gui Add, ListBox, vG1 gOk hwndhListbox x8 y40 w200 h160
;Gui Add, Button, x8 y208 w80 h23, OK


for Process in ComObjGet(&quot;Winmgmts:&quot;).ExecQuery(&quot;Select * From Win32_Process&quot;)
 Txt .= Process.Caption &quot;|&quot;

GuiControl,, % hListbox, % Txt	; Вставить из переменной.

Gui Show, w246 h340, % Name
Return

GuiEscape:
GuiClose:
ExitApp

Games:
Run, C:\Users\Администратор\Desktop\Games

OBS:
Run, C:\Program Files\obs-studio\bin\64bit\obs64.exe

#IfWinActive, Ahk_Group AppGroup

; Перехват клавиши Enter в своём окне:
Enter::
KeyWait, %A_ThisHotkey%, U

ControlGetFocus, F_Now, % Name	; Получить текущий выбранный контрол.
If (F_Now = &quot;ListBox1&quot;)		; Если фокус на списке сохранить пункт и выйти:
{
 Gui, Submit, NoHide
 ToolTip, Переменная = %G1%
 Sleep, 300
 ToolTip
 Return
}
Else If (F_Now = &quot;Edit1&quot;)	; Поиск в списке:
{
 GoTo, Get
}

;Else
; Send, {%A_ThisHotkey%}	; Нажать Enter если нет совпадений.
Return

#If


Get:
Gui, Submit, NoHide
T=
Loop, Parse, Txt, |
{
 If InStr(A_LoopField, Poisk)
 {
  SendMessage, 390, A_Index-1, 0,, ahk_id %hListbox%	; Выделить найденный пункт.
  T := A_Index
  Break
 }
}
If !T
{
 ToolTip, Нет такого.,0,0
 Sleep, 400
}
ToolTip
Return


Подтвердить:
Gui, Submit, NoHide
;ToolTip, Пункт: %G1% ; отображение выбранного пункта
Return


Reverse:
Reverse := !Reverse
GoSub, App

If Reverse
 Sort, Txt, R D|

GuiControl,, % hListbox, |	; Очистить список.
GuiControl,, % hListbox, % Txt	; Вставить из переменной.
Return


NewApp:
Txt2 := Txt			; Резерв тек. списка.
GuiControl,, % hListbox, |	; Очистить список.
GuiControl,, % hListbox, &quot;Ожидание...&quot;
GuiControl, Disable, % hBut	; Блок кнопки.
GuiControl, Disable, % hSear	; Разблок поиска.
SetTimer, NewP, 1000		; Тест каждую секунду.
Return


NewP:	; Отсев новых программ.
GoSub, App
Txt_New = 
D = |
Loop, Parse, Txt, %D%
{
 If !InStr(D Txt2 D, D A_LoopField D)
  Txt_New := A_LoopField &quot;|&quot;
}
If Txt_New
{
 Txt := Txt_New
 SetTimer, NewP, Off		; Выключить тестер.
 GuiControl,, % hListbox, |	; Очистить список.
 GuiControl,, % hListbox, % Txt_New	; Вставить из переменной.
 GuiControl, Enable, % hBut	; Разблок кнопки.
 GuiControl, Enable, % hSear	; Разблок поиска.
}
Return

App:	; Создать список запущенных.
Txt = 
for Process in ComObjGet(&quot;Winmgmts:&quot;).ExecQuery(&quot;Select * From Win32_Process&quot;)
 Txt .= Process.Caption &quot;|&quot;
Return

F9:: 
 ;	If Not ОкноБезРамокДляИгр       
	{	
		BorderSize:=0
	    WinMove, ahk_exe %G1%,, -BorderSize, -BorderSize, 1920+2*BorderSize, 1080+2*BorderSize
		WinSet, Style, -0xC00000, ahk_exe %G1% ; убрать рамку
;		ОкноБезРамокДляИгр := true
	}

;	If Not ОкноБезРамокДляВебки
	{
		WinMove Оконный проектор (Источник) - Вебка,, 1510, 0, 410, 310 ; перемещаем окошко в угол + ресайз
		WinSet Style, -0x800000, Оконный проектор (Источник) - Вебка ; -рамка
		WinSet Style, -0x40000, Оконный проектор (Источник) - Вебка ; -рамка
		WinSet Style, -0x400000, Оконный проектор (Источник) - Вебка ; -рамка
;		ОкноБезРамокДляВебки := true
	}

	IfWinExist ahk_class Qt5152QWindowIcon ahk_exe obs64.exe
	{
		WinGet ExStyle, ExStyle
		if Not (ExStyle &amp; 0x8)  ; 0x8 is WS_EX_TOPMOST. The window is always-on-top.
		{
			WinSet ExStyle, +0x20 ; чтобы клики проходили сквозь окошко
			WinSet Transparent, 255 ; прозрачность окна: 0 - максимальная, 255 - непрозрачное 
			WinSet AlwaysOnTop, On
		} else 
		 {
			WinSet ExStyle, -0x20
			WinSet Transparent, 255
			WinSet AlwaysOnTop, Off
			; переключаем режим &quot;поверх всех&quot; в окне игры, чтобы окошко ушло на задний план
			WinSet AlwaysOnTop, On, A
			WinSet AlwaysOnTop, Off, A
		 }
	}
Return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Michael]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=41356</uri>
			</author>
			<updated>2021-01-17T20:56:38Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=144972#p144972</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Открытие окна поверх игры, оверлей]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=144965#p144965" />
			<content type="html"><![CDATA[<p><strong>Michael</strong></p><p>Вот так находит, только 1 программу.</p><div class="codebox"><pre><code>#SingleInstance Force
#NoEnv
SetBatchLines -1

Name = Выбор процесса...

GroupAdd, AppGroup, % Name

; Ищет сразу, если не нужно убрать &#039;gGet&#039;. Enter - для применения поиска.
Gui Add, Edit, hwndhSear gGet vPoisk x8 y16 w200 h21, Поиск...
Gui Add, ListBox, vG1 hwndhListbox x8 y40 w200 h160
Gui Add, Button, gReverse x8 y208 w80 h23, Реверс
Gui Add, Button, gNewApp hwndhBut x96 y208 w100 h23, Новая прога

for Process in ComObjGet(&quot;Winmgmts:&quot;).ExecQuery(&quot;Select * From Win32_Process&quot;)
 Txt .= Process.Caption &quot;|&quot;

GuiControl,, % hListbox, % Txt	; Вставить из переменной.

Gui Show, w216 h236, % Name
Return

GuiEscape:
GuiClose:
ExitApp


#IfWinActive, Ahk_Group AppGroup

; Перехват клавиши Enter в своём окне:
Enter::
KeyWait, %A_ThisHotkey%, U

ControlGetFocus, F_Now, % Name	; Получить текущий выбранный контрол.
If (F_Now = &quot;ListBox1&quot;)		; Если фокус на списке сохранить пункт и выйти:
{
 Gui, Submit, NoHide
 ToolTip, Переменная = %G1%
 Sleep, 300
 ToolTip
 Return
}
Else If (F_Now = &quot;Edit1&quot;)	; Поиск в списке:
{
 GoTo, Get
}

;Else
; Send, {%A_ThisHotkey%}	; Нажать Enter если нет совпадений.
Return

#If


Get:
Gui, Submit, NoHide
T=
Loop, Parse, Txt, |
{
 If InStr(A_LoopField, Poisk)
 {
  SendMessage, 390, A_Index-1, 0,, ahk_id %hListbox%	; Выделить найденный пункт.
  T := A_Index
  Break
 }
}
If !T
{
 ToolTip, Нет такого.,0,0
 Sleep, 400
}
ToolTip
Return


Ok:
Gui, Submit, NoHide
ToolTip, Пункт: %G1%
Return


Reverse:
Reverse := !Reverse
GoSub, App

If Reverse
 Sort, Txt, R D|

GuiControl,, % hListbox, |	; Очистить список.
GuiControl,, % hListbox, % Txt	; Вставить из переменной.
Return


NewApp:
Txt2 := Txt			; Резерв тек. списка.
GuiControl,, % hListbox, |	; Очистить список.
GuiControl,, % hListbox, &quot;Ожидание...&quot;
GuiControl, Disable, % hBut	; Блок кнопки.
GuiControl, Disable, % hSear	; Разблок поиска.
SetTimer, NewP, 1000		; Тест каждую секунду.
Return


NewP:	; Отсев новых программ.
GoSub, App
Txt_New = 
D = |
Loop, Parse, Txt, %D%
{
 If !InStr(D Txt2 D, D A_LoopField D)
  Txt_New := A_LoopField &quot;|&quot;
}
If Txt_New
{
 Txt := Txt_New
 SetTimer, NewP, Off		; Выключить тестер.
 GuiControl,, % hListbox, |	; Очистить список.
 GuiControl,, % hListbox, % Txt_New	; Вставить из переменной.
 GuiControl, Enable, % hBut	; Разблок кнопки.
 GuiControl, Enable, % hSear	; Разблок поиска.
}
Return


App:	; Создать список запущенных.
Txt = 
for Process in ComObjGet(&quot;Winmgmts:&quot;).ExecQuery(&quot;Select * From Win32_Process&quot;)
 Txt .= Process.Caption &quot;|&quot;
Return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2021-01-17T16:24:52Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=144965#p144965</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Открытие окна поверх игры, оверлей]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=144956#p144956" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>
old = smss.exe|csrss.exe|wininit.exe|services.exe|lsass.exe|svchost.exe|WUDFHost.exe|fontdrvhost.exe
new = new 2.exe|smss.exe|csrss.exe|wininit.exe|new 1.exe|services.exe
 
D = |

Loop, Parse, new, %D%
	If !InStr(D old D, D A_LoopField D)
		MsgBox % A_LoopField
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2021-01-17T15:34:16Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=144956#p144956</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Открытие окна поверх игры, оверлей]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=144927#p144927" />
			<content type="html"><![CDATA[<p><strong>__Михаил__</strong><br />Реверс это конечно хорошо, но его сортировка меня убила <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /></p><div class="quotebox"><blockquote><p>Осталось сделать сравнение старого списка с новым, когда произойдёт отсев - будет нужная, новая программа.</p></blockquote></div><p>Осталось только понять, где вообще смотреть примеры этого &quot;сравнения&quot; и как сделать отсев. Единственное что нарыл пока-что - <a href="http://forum.script-coding.com/viewtopic.php?id=14701">http://forum.script-coding.com/viewtopic.php?id=14701</a>. Но, не понимаю, это к диспетчеру задач и сравнению процессов можно ли как-то прикрутить вообще...</p><p><strong> UPDATE:</strong><br />Нашел вот такой вот скрипт от <strong>serzh82saratov</strong>: (вроде мне что-то типо этого надо, но не могу в нем разобраться и понять как туда засунуть список процессов<br /></p><div class="codebox"><pre><code>D := A_Tab

Data_base = Все	что	удалось	сделать	на	текущий	момент:	в	приведенном	ниже	коде	идет	построчное	сравнение	списка	из	файла
Ordinar = Такого там нет	удалось	сравнение	файла

Loop, Parse, Ordinar, %D%
	MsgBox % &quot;Строка: &quot;&quot;&quot; A_LoopField &quot;&quot;&quot;`n`n&quot; (InStr(D Data_base D, D A_LoopField D) ? &quot;Есть&quot; : &quot;Нет&quot;) &quot; - в Data_base&quot;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Michael]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=41356</uri>
			</author>
			<updated>2021-01-17T13:49:05Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=144927#p144927</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Открытие окна поверх игры, оверлей]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=144923#p144923" />
			<content type="html"><![CDATA[<p><strong>Michael</strong></p><p>Если нужен реверс списка. Правда при этом идёт сортировка.</p><div class="codebox"><pre><code>#SingleInstance Force
#NoEnv
SetBatchLines -1

Name = Выбор процесса...

GroupAdd, AppGroup, % Name

; Ищет сразу, если не нужно убрать &#039;gGet&#039;. Enter - для применения поиска.
Gui Add, Edit, gGet vPoisk x8 y16 w200 h21, Поиск...
Gui Add, ListBox, vG1 hwndhListbox x8 y40 w200 h160
Gui Add, Button, gReverse x8 y208 w80 h23, Реверс

for Process in ComObjGet(&quot;Winmgmts:&quot;).ExecQuery(&quot;Select * From Win32_Process&quot;)
 Txt .= Process.Caption &quot;|&quot;

GuiControl,, % hListbox, % Txt	; Вставить из переменной.
Gui Show, w216 h236, % Name
Return

GuiEscape:
GuiClose:
ExitApp


#IfWinActive, Ahk_Group AppGroup

; Перехват клавиши Enter в своём окне:
Enter::
KeyWait, %A_ThisHotkey%, U

ControlGetFocus, F_Now, % Name	; Получить текущий выбранный контрол.
If (F_Now = &quot;ListBox1&quot;)		; Если фокус на списке сохранить пункт и выйти:
{
 Gui, Submit, NoHide
 ToolTip, Переменная = %G1%
 Sleep, 300
 ToolTip
 Return
}
Else If (F_Now = &quot;Edit1&quot;)	; Поиск в списке:
{
 GoTo, Get
}

;Else
; Send, {%A_ThisHotkey%}	; Нажать Enter если нет совпадений.
Return

#If


Get:
Gui, Submit, NoHide
T=
Loop, Parse, Txt, |
{
 If InStr(A_LoopField, Poisk)
 {
  SendMessage, 390, A_Index-1, 0,, ahk_id %hListbox%	; Выделить найденный пункт.
  T := A_Index
  Break
 }
}
If !T
{
 ToolTip, Нет такого.,0,0
 Sleep, 400
}
ToolTip
Return


Ok:
Gui, Submit, NoHide
Return

Reverse:
Reverse := !Reverse
Txt = 
for Process in ComObjGet(&quot;Winmgmts:&quot;).ExecQuery(&quot;Select * From Win32_Process&quot;)
 Txt .= Process.Caption &quot;|&quot;

If Reverse
 Sort, Txt, R D|

GuiControl,, % hListbox, |	; Очистить список.
GuiControl,, % hListbox, % Txt	; Вставить из переменной.
Return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2021-01-17T12:42:56Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=144923#p144923</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Открытие окна поверх игры, оверлей]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=144919#p144919" />
			<content type="html"><![CDATA[<p><strong>Michael</strong></p><p>Думаю придётся писать свой код. Как получить список всех запущенных в этой теме уже есть. Осталось сделать сравнение старого списка с новым, когда произойдёт отсев - будет нужная, новая программа.</p>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2021-01-17T09:20:16Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=144919#p144919</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Открытие окна поверх игры, оверлей]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=144907#p144907" />
			<content type="html"><![CDATA[<p><strong>__Михаил__</strong><br />Ну, по первых интерфейс с кнопками мне как то больше по душе, по ряду причин, а во вторых, люблю когда в 1 программке реализовано все необходимое для конкретной задачи, ибо когда я начинаю задачи свои выполнять - времени тупить и совершать лишние телодвижения нету, нажал пару кнопок и поехали, как говорится <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /><br />Прошу помощи реализовать это, хотя бы дайте понять что и где читать, может сам разберусь...<br /></p><div class="quotebox"><blockquote><p>ГУИ 1 кнопка: Запустить, жмем ее, начался процесс отслеживания файла, который я запущу первым после нажатия данной кнопки, и ЕХЕшник данного приложения записывается в ту же переменную</p></blockquote></div>]]></content>
			<author>
				<name><![CDATA[Michael]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=41356</uri>
			</author>
			<updated>2021-01-16T23:47:27Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=144907#p144907</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Открытие окна поверх игры, оверлей]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=144906#p144906" />
			<content type="html"><![CDATA[<p><strong>Michael</strong></p><p>Всё описанное возможно, только зачем?<br />Нажать одну клавишу, которая соберёт инфу о текущем окне и выполнит какое-либо действие - куда проще на мой взгляд. Например Win, она мало для чего пригодна, если уже занята, то можно повесить сочетание с ней - Win+1 и т.д.</p>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2021-01-16T23:26:48Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=144906#p144906</id>
		</entry>
</feed>
