<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; АНК: Checkbox в роли индикатора состояния + хоткей на него]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=12955</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=12955&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «АНК: Checkbox в роли индикатора состояния + хоткей на него».]]></description>
		<lastBuildDate>Mon, 28 Aug 2017 21:19:56 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: АНК: Checkbox в роли индикатора состояния + хоткей на него]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=118874#p118874</link>
			<description><![CDATA[<p>Ну ну, нельзя себя опускать так, велосипеды ещё нужно уметь изобретать. Идиотом себя можно назвать только в том случае, если вы не можете даже его изобрести и то я бы поспорил ещё.</p>]]></description>
			<author><![CDATA[null@example.com (belyankin12)]]></author>
			<pubDate>Mon, 28 Aug 2017 21:19:56 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=118874#p118874</guid>
		</item>
		<item>
			<title><![CDATA[Re: АНК: Checkbox в роли индикатора состояния + хоткей на него]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=118873#p118873</link>
			<description><![CDATA[<p><strong>serzh82saratov</strong><br />О боже, я идиот...)<br />Опять начинаю делать велосипед на пустом месте....)</p><p>Спасибо, все работает.</p>]]></description>
			<author><![CDATA[null@example.com (carenov)]]></author>
			<pubDate>Mon, 28 Aug 2017 20:44:44 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=118873#p118873</guid>
		</item>
		<item>
			<title><![CDATA[Re: АНК: Checkbox в роли индикатора состояния + хоткей на него]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=118872#p118872</link>
			<description><![CDATA[<div class="codebox"><pre><code>CheckBox1Proc: 
	WinActivate, Warface
	SetWinDelay, 100
	if KeepWinZRunning = y
	{
		KeepWinZRunning =
		Return
	}
	KeepWinZRunning = y
	While CheckBox1
	{
		MouseMove, 902, 944
		SetMouseDelay, 15
		Click 5
		MouseMove, 1175, 944
		SetMouseDelay, 15
		Click 2
		MouseMove, 980, 975
		SetMouseDelay, 15
		Click 2
		Sleep 50
		if KeepWinZRunning =
			break
	}
	KeepWinZRunning = 
	Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Mon, 28 Aug 2017 20:37:52 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=118872#p118872</guid>
		</item>
		<item>
			<title><![CDATA[Re: АНК: Checkbox в роли индикатора состояния + хоткей на него]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=118871#p118871</link>
			<description><![CDATA[<p>While CheckBox1 это и есть Loop.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Mon, 28 Aug 2017 20:35:10 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=118871#p118871</guid>
		</item>
		<item>
			<title><![CDATA[Re: АНК: Checkbox в роли индикатора состояния + хоткей на него]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=118870#p118870</link>
			<description><![CDATA[<p><strong>serzh82saratov</strong><br />Ваш скрипт полностью именно то, то мне нужно <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Большое спасибо.</p><p>Еще один вопросик, чекбоксы работают как надо, там где нету Loop.<br />С Loop они запускаются, но остановится уже не могут.<br />Видимо, я как то не так организовал стоп/повтор Лупа.</p><p>Вот скрипт с Лупом:</p><div class="codebox"><pre><code>WinActivate, Warface
SetWinDelay, 100

Loop
{
  MouseMove, 902, 944
  SetMouseDelay, 15
  Click 5
  MouseMove, 1175, 944
  SetMouseDelay, 15
  Click 2
  MouseMove, 980, 975
  SetMouseDelay, 15
  Click 2
  Sleep 50
}</code></pre></div><p>С чекбоксом и паузой / стартом скрипта вместе в лупом, у меня вышло примерно так:</p><div class="codebox"><pre><code>#NoEnv
#MaxThreadsPerHotkey 3

Gui, Add, CheckBox, vCheckBox1 gCheckBox1, CheckBox
Gui, Show
Return

1::
CheckBox1:
	GuiControlGet, CheckBox1
	If A_GuiControl =
		GuiControl, , CheckBox1, % (CheckBox1 := !CheckBox1)
	SetTimer, CheckBox1Proc, -0
	Return
	
CheckBox1Proc:
	While CheckBox1
	{ 
 #MaxThreadsPerHotkey 1
 WinActivate, Warface
 SetWinDelay, 100
 if KeepWinZRunning = y
 {
 KeepWinZRunning =
 Return
 }
 KeepWinZRunning = y
 Loop,
{
  MouseMove, 902, 944
  SetMouseDelay, 15
  Click 5
  MouseMove, 1175, 944
  SetMouseDelay, 15
  Click 2
  MouseMove, 980, 975
  SetMouseDelay, 15
  Click 2
  Sleep 50
 if KeepWinZRunning =
 break
 }
 KeepWinZRunning =
	}

	Return</code></pre></div><p>Но где-то есть косяк, ибо Loop останавливаться не хочет.</p>]]></description>
			<author><![CDATA[null@example.com (carenov)]]></author>
			<pubDate>Mon, 28 Aug 2017 20:32:57 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=118870#p118870</guid>
		</item>
		<item>
			<title><![CDATA[Re: АНК: Checkbox в роли индикатора состояния + хоткей на него]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=118868#p118868</link>
			<description><![CDATA[<div class="codebox"><pre><code>Gui, Add, CheckBox, vCheckBox1 gCheckBox1, CheckBox
Gui, Show
Return

1::
CheckBox1:
	GuiControlGet, CheckBox1
	If A_GuiControl =
		GuiControl, , CheckBox1, % (CheckBox1 := !CheckBox1)
	If CheckBox1
		SetTimer, CheckBox1Proc, -0
	Return
	
CheckBox1Proc:
	While CheckBox1
	{ 
		ToolTip % A_TickCount 
	}
	ToolTip
	Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Mon, 28 Aug 2017 20:01:10 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=118868#p118868</guid>
		</item>
		<item>
			<title><![CDATA[АНК: Checkbox в роли индикатора состояния + хоткей на него]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=118867#p118867</link>
			<description><![CDATA[<p>Доброго времени суток <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />Почти написал свою программу, сейчас занимаюсь ГУИ. Осталось разобраться с ЧекБоксами и хоткеями на него.<br />Есть 8 чекбоксов (будет возможно еще несколько) в моей оболочке.<br />Мне нужно, чтобы по Хоткею на клавиатуре активировался тот или иной скрипт (на каждый чекбокс по скрипту). При этом, при повторном нажатии Хоткея скрипт останавливался. Если нужно дальше также запускался и останавливался.<br />Но при этом, помимо хоткея, чтобы было также доступно Вкл/выкл того же скрипт по нажатию/удалению галочки в чекбоксе.<br />И чекбокс служил неким индикатором для скрипт.<br />Примеры: <br /># Нажал ф12, поставилась галочка в нужном чекбоксе и включился сам скрипт, нажал еще раз ф12, убралась галка и выключился скрипт.<br /># Аналогично, поставил галочку в чекбоксе вручную - запустился скрипт, убрал - остановился.</p><p>Приведу в конкретном примере 2 скрипта и 2 чекбокса, для наглядности:</p><div class="codebox"><pre><code>#NoEnv
#NoTrayIcon

Gui, Add, CheckBox, x32 y109 w190 h20 , Накрутка часов на штурме
Gui, Add, CheckBox, x32 y139 w190 h20 , Обратный Ренейм окон

; Скрипт для 1го чекбокса
F12::
Loop
{
 WinActivate, Bot2
  SetWinDelay, 200
  Send {Esc}
  Send {Esc}
  Send {Esc}
  MouseMove, 460, 290
  SetMouseDelay, 15
  Click 4
  MouseMove, 650, 340
  SetMouseDelay, 15
  Click 4
  Sleep 1000
 WinActivate, Bot4
  SetWinDelay, 200
  Send {Esc}
  Send {Esc}
  Send {Esc}
  MouseMove, 460, 290
  SetMouseDelay, 15
  Click 4
  MouseMove, 650, 340
  SetMouseDelay, 15
  Click 4
  Sleep 1000
 WinActivate, Bot3
  SetWinDelay, 200
  Send {Esc}
  Send {Esc}
  Send {Esc}
  MouseMove, 460, 290
  SetMouseDelay, 25
  Click 4
  MouseMove, 650, 340
  SetMouseDelay, 25
  Click 4
  Sleep 2000
 WinActivate, Bot1
  SetWinDelay, 200
  Send {Esc}
  Send {Esc}
  Send {Esc}
  MouseMove, 460, 290
  SetMouseDelay, 25
  Click 4
  MouseMove, 650, 340
  SetMouseDelay, 25
  Click 4
  Sleep 1000
 WinActivate, Bot2
  SetWinDelay, 200
  MouseMove, 650, 340
  SetMouseDelay, 25
  Click 4
  Sleep 1750000
  Send {Esc}
  MouseMove, 400, 240
  SetMouseDelay, 25
  Click 4
  Sleep 80
  MouseMove, 345, 285
  SetMouseDelay, 25
  Click 4
  Sleep 2000
 WinActivate, Bot4
  SetWinDelay, 200
  MouseMove, 650, 340
  SetMouseDelay, 25
  Click 4
  Sleep 80
  Send {Esc}
  MouseMove, 400, 240
  SetMouseDelay, 25
  Click 4
  Sleep 80
  MouseMove, 345, 285
  SetMouseDelay, 25
  Click 4
  Sleep 2000
}
Return

; Скрипт для 2го чекбокса
F12::
    Win := {}, Win.Free := {}, Win.Count := 0
	WinGet, List, List, ahk_exe %exe%
	Loop %List%
	{ 
		hwnd := List%A_Index%
		WinSetTitle, ahk_id %hwnd%, , ИмяОкна
    }
	Return</code></pre></div><p>На форуме искал, несколько примеров, отдаленно похожих, я нашел, убил 2 дня, выходило что-то непонятное. <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /><br />Прошу помощи, о великие <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (carenov)]]></author>
			<pubDate>Mon, 28 Aug 2017 19:13:20 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=118867#p118867</guid>
		</item>
	</channel>
</rss>
