<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: ControlClick вызов скрипта из реестра]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=17554</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=17554&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: ControlClick вызов скрипта из реестра».]]></description>
		<lastBuildDate>Sat, 18 Feb 2023 13:04:36 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: ControlClick вызов скрипта из реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=156851#p156851</link>
			<description><![CDATA[<p>Придумал несколько иной способ. Проблема в том, что <strong>runasspc</strong> время от времени при запуске напоминает, что требуется лицензия и ждёт нажатия на кнопку &quot;Continue&quot;, и кроме того, он постоянно генерирует окно консоли. Получается сплошное перемигивание.<br />Я воспользовался вот такой конструкцией в основном скрипте:</p><div class="codebox"><pre><code>DllCall(&quot;RegisterShellHookWindow&quot;, Ptr, A_ScriptHwnd)
MsgNum := DllCall(&quot;RegisterWindowMessage&quot;, Str, &quot;SHELLHOOK&quot;)
OnMessage(MsgNum, &quot;ShellMessage&quot;)

Return

ShellMessage(wParam, lParam) 
{ 
    static HSHELL_WINDOWACTIVATED := 0x04
         , HSHELL_WINDOWCREATED := 0x01
         , HSHELL_WINDOWDESTROYED := 0x02
         , HSHELL_HIGHBIT := 0x8000
         , HSHELL_RUDEAPPACTIVATED := HSHELL_WINDOWACTIVATED | HSHELL_HIGHBIT | HSHELL_WINDOWCREATED | HSHELL_WINDOWDESTROYED
    
    if (wParam == HSHELL_RUDEAPPACTIVATED || wParam == HSHELL_WINDOWACTIVATED || wParam == HSHELL_WINDOWCREATED || wParam == HSHELL_WINDOWDESTROYED)
    {
        WinGet, PrName, ProcessName, % &quot;ahk_id&quot; lParam
        If InStr(PrName, &quot;go_copy&quot;)
        {
        	GoSub, Copy
        }       
    }
}</code></pre></div><p>Благодаря этому коду, можно отслеживать появляющиеся и исчезающие окна. В отличии от winwait, такой способ может работать &quot;в фоне&quot;. То-есть остальные мои функции продолжают работать как и ранее.</p><p>Далее я создал скомпилированный в exe скрипт go_copy.exe:</p><div class="codebox"><pre><code>#NoEnv
#NoTrayIcon

SendMode Input
SetWorkingDir %A_ScriptDir%
WinSet, Transparent, 0, click_to_copy
Gui, Show, NoActivate Hide, click_to_copy
Gui, Destroy

GuiClose:
ExitApp</code></pre></div><p>И повесил его на запуск при нажатии на кнопку сканера. В итоге, никаких сторонних программ не нужно. И ничего не мелькает. Визуально, происходит нажатие на кнопку сканера, и сразу происходит запуск моей функции Copy.</p>]]></description>
			<author><![CDATA[null@example.com (taravasya)]]></author>
			<pubDate>Sat, 18 Feb 2023 13:04:36 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=156851#p156851</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ControlClick вызов скрипта из реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=156419#p156419</link>
			<description><![CDATA[<div class="quotebox"><cite>ypppu пишет:</cite><blockquote><p>Вроде сторонней программой &quot;RunAsService&quot;</p></blockquote></div><p>Тоже&nbsp; в итоге пришёл к такому же решению. Только использовал <strong>runasspc</strong>.<br />&quot;Будущим поколениям&quot; может быть пригодится информация о том, что для того, чтобы всё заработало:<br /></p><ul><li><p>Я настроил в утилите runasspc запуск скомпилированного exe от имени своего текущего пользователя</p></li><li><p>Мой скомпилированный exe, должен запускаться от имени администратора(это надо включить в его свойствах, во вкладке совместимость)</p></li><li><p>Нельзя, чтобы в пути к этому exe были пробелы(предполагаю, что и кириллица).</p></li></ul>]]></description>
			<author><![CDATA[null@example.com (taravasya)]]></author>
			<pubDate>Mon, 16 Jan 2023 20:34:05 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=156419#p156419</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ControlClick вызов скрипта из реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=156405#p156405</link>
			<description><![CDATA[<p>В общем у меня дома когда-то можно было включить компьютер (просто включить, не залогиниваясь пользователем), нажать кнопку на сканере, при этом запускалась спецпрограмма, которая сначала сканировала, потом скан посылала на принтер и распечатывался. Спецпрограмма вообще-то не была предназначена для запуска от имени SYSTEM, но я как-то это сделал. Вроде сторонней программой &quot;RunAsService&quot;.</p><p>Вот до кучи, завалялся у меня в архивах огрызок реестра, сам не помню для чего сохранял.<br /></p><div class="codebox"><pre><code>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\StillImage\Registered Applications]
&quot;Microsoft Word&quot;=&quot;C:\\Program Files\\Microsoft Office\\Office10\\WINWORD.EXE /IMG_STI /StiDevice:%1 /StiEvent:%2&quot;
&quot;Photocopier Expert Scan&quot;=&quot;C:\\Program Files\\Photocopier Expert\\photocopierexpert.exe /PROFILESCAN /StiDevice:%1 /StiEvent:%2&quot;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Sun, 15 Jan 2023 19:36:42 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=156405#p156405</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ControlClick вызов скрипта из реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=156402#p156402</link>
			<description><![CDATA[<p>Да, работать будет только в приложениях работающих от системного аккаунта.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Sun, 15 Jan 2023 17:12:44 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=156402#p156402</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ControlClick вызов скрипта из реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=156401#p156401</link>
			<description><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>А тут есть пример на чистом ahk:</p></blockquote></div><p>Круть. Скрипт можно запустить от любого юзера, и только в логоне будет работать хоткей? Или как должно работать?</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sun, 15 Jan 2023 17:02:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=156401#p156401</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ControlClick вызов скрипта из реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=156399#p156399</link>
			<description><![CDATA[<p>А тут есть пример на чистом ahk:<br /><a href="http://forum.script-coding.com/viewtopic.php?pid=139447">http://forum.script-coding.com/viewtopic.php?pid=139447</a><br />ЗЫ Жалко, что <strong>qwerty12</strong> потерял интерес к автохотки. <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" />((</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Sun, 15 Jan 2023 16:37:04 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=156399#p156399</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ControlClick вызов скрипта из реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=156398#p156398</link>
			<description><![CDATA[<p>Тут обсуждали возможные варианты взаимодействия с system:<br /><a href="http://forum.script-coding.com/viewtopic.php?id=11778">http://forum.script-coding.com/viewtopic.php?id=11778</a></p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Sun, 15 Jan 2023 16:28:46 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=156398#p156398</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ControlClick вызов скрипта из реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=156396#p156396</link>
			<description><![CDATA[<p>Хорошо, мы сидим под юзер №2, а скрипт запущен от юзер №1. <br /><em>Значит окно скрипта видимым быть не может</em> - <span style="color: green">ДА</span><br /><em>Все процессы от юзер №1 являются замороженными</em> - <span style="color: red">НЕТ</span>. Юзер №1 вполне мог запустить проигрыватель с музыкой. И музыку будет слышно что у самого юзера №1, что на экране выбора пользователя (если заблокировать Юзер №1), что при входе в Windows из-под юзер №2.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Sun, 15 Jan 2023 15:20:02 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=156396#p156396</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ControlClick вызов скрипта из реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=156395#p156395</link>
			<description><![CDATA[<div class="quotebox"><cite>ypppu пишет:</cite><blockquote><p>Вроде я понятно описал.</p></blockquote></div><p>Мы говорили о том что текущий юзер №2, а скрипт запущен от №1. Значит окно скрипта видимым быть не может, и насколько понимаю все процессы от юзер №1 являются замороженными.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sun, 15 Jan 2023 15:07:56 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=156395#p156395</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ControlClick вызов скрипта из реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=156394#p156394</link>
			<description><![CDATA[<div class="quotebox"><cite>taravasya пишет:</cite><blockquote><p>VASYA - это мой текущий пользователь с правами адимнистратора.</p></blockquote></div><p>IsAdmin:&nbsp; false значит что скрипт не с правами.<br />Тут понятно, интересно что напишет про скрипт из реестра.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sun, 15 Jan 2023 15:05:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=156394#p156394</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ControlClick вызов скрипта из реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=156392#p156392</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>У меня в подписи AhkSpy, им посмотрите.</p></blockquote></div><p>Так что с пользователями и правами?</p></blockquote></div><p>Сейчас нет доступа к компьютеру со скнером.</p><p>Запустил скрипт на другом компе, AhkSpy пишет:<br /></p><div class="codebox"><pre><code>IsAdmin:  false  ▪  Is unicode:  true  ▪  User name:  VASYA  ▪  WindowBand:  ZBID_DESKTOP := 1</code></pre></div><p>VASYA - это мой текущий пользователь с правами адимнистратора.</p>]]></description>
			<author><![CDATA[null@example.com (taravasya)]]></author>
			<pubDate>Sun, 15 Jan 2023 14:14:31 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=156392#p156392</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ControlClick вызов скрипта из реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=156391#p156391</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Не совсем, я про то что окна программы нет, а значит и вопроса как в него кликнуть не существует.</p></blockquote></div><p>Вроде я понятно описал. С точки зрения учётки пользователя (человека) окно AHK-скрипта есть; но с точки зрения процесса, запущенного от имени SYSTEM, про существование у пользователя (человека) окна AHK-скрипта ничего неизвестно. Скрипт максимум что увидит, так это то, что существует процесс autohotkey.exe, но послать ControlClick в окно данного процесса, как этого хотел <strong>taravasya</strong>, скрипт не сможет. Потому что так Windows устроена.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Sun, 15 Jan 2023 14:12:33 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=156391#p156391</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ControlClick вызов скрипта из реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=156388#p156388</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>У меня в подписи AhkSpy, им посмотрите.</p></blockquote></div><p>Так что с пользователями и правами?</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sun, 15 Jan 2023 14:03:22 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=156388#p156388</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ControlClick вызов скрипта из реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=156387#p156387</link>
			<description><![CDATA[<div class="quotebox"><cite>taravasya пишет:</cite><blockquote><p>Похоже яндекс ничего не знает про сочетание Global container и AHK. Я тоже ))</p></blockquote></div><p><a href="http://forum.script-coding.com/viewtopic.php?pid=113561#p113561">http://forum.script-coding.com/viewtopi … 61#p113561</a><br /></p><div class="quotebox"><cite>taravasya пишет:</cite><blockquote><p>Тоже не работает. Проверял.</p></blockquote></div><p>SendLevel, 100 есть в скрипте с Send, и #InputLevel, 100 в основном?<br /></p><div class="quotebox"><cite>taravasya пишет:</cite><blockquote><p>Разве там не будет той же самой проблемы? Имеет значение, скрытое это окно или нет?</p></blockquote></div><p>В вашем случае не знаю, надо пробовать как будет в случае с ControlSetText. То что окно скрытое не должно мешать. <br />С файлом вариант конечно плохой. Можно в основном скрипте ждать скрытое окно, во втором при запуске создавать окно, можно с нужными данными, основной скрипт реагирует на его появление, берёт из него данные если надо и закрывает скрипт.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sun, 15 Jan 2023 14:02:19 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=156387#p156387</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ControlClick вызов скрипта из реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=156385#p156385</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>установить резервный хоткей который ничего не затронет, например vk0A, и из второго скрипта отправлять его нажатие.</p></blockquote></div><p>Тоже не работает. Проверял.</p><div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>с помощью Global container можно вызвать функцию.</p></blockquote></div><p>Похоже яндекс ничего не знает про сочетание Global container и AHK. Я тоже ))</p><div class="quotebox"><cite>__Михаил__ пишет:</cite><blockquote><p><strong>taravasya</strong> Добавьте возможность &#039;общения&#039; между скриптами</p></blockquote></div><p>Как я написал выше, думаю, что проблема решится с помощью утилиты <strong>runasspc</strong>. Если и с ней не получится, то думал налаживать взаимодействие через ini файл. В нём сейчас хранятся данные про яркость/контраст/стоимость/требуемое количество копий... Туда же, по идее, можно добавить и подсчёт общего количества копий.<br />Хотел избежать такого сценария. Есть один важный момент, в основном скрипте, есть хоткей, по нажатию которого, происходит скан/печать, +тоже самое происходит при клике на соответствующую картинку. В обоих случаях, работает подсчёт и изменение результирующих данных в GUI. Повесить функцию скан/печать на кнопку сканера, надо как дополнительную опцию, а не вместо имеющихся, потому, что в разных ситуациях удобнее использовать разные сценарии. И вот, что бы &quot;синхронизировать&quot; отображение результирующих значений, надо либо в основном скрипте какой-то повторяющийся в цикле опрос ini файла делать, либо, после использования стороннего скрипта, в GUI не будет отображаться актуальная информация, до тех пор, пока не произойдёт какое-то действие в основном скрипте.<br />Или можно как-то элегантнее настроить взаимодействие?</p><div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>можно перед нажатием записывать текст в скрытое окно первого скрипта</p></blockquote></div><p>Разве там не будет той же самой проблемы? Имеет значение, скрытое это окно или нет?</p>]]></description>
			<author><![CDATA[null@example.com (taravasya)]]></author>
			<pubDate>Sun, 15 Jan 2023 13:31:14 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=156385#p156385</guid>
		</item>
	</channel>
</rss>
