<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Как выполнить нажатие, если процесс opera.exe + странности]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=5426</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5426&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Как выполнить нажатие, если процесс opera.exe + странности».]]></description>
		<lastBuildDate>Fri, 28 Jan 2011 15:37:38 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Как выполнить нажатие, если процесс opera.exe + странности]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=44491#p44491</link>
			<description><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>а почитать про «<strong><span style="color: red">#</span></strong>IfWinActive»:</p></blockquote></div><p>Благодарю. Я ведь только вчера в 23:00 первый раз открыл для себя AHK, не пинайте сильно</p><p>Для меня что <strong><span style="color: red">#</span></strong>IfWinActive, что просто IfWinActive было одним и тем же.</p><p>Попробовал так:<br /></p><div class="codebox"><pre><code>#IfWinActive ahk_class OperaWindowClass
    ~LButton &amp; RButton::Send, ^{Enter}
Return</code></pre></div><p>Так тоже работает. Это хорошо, когда есть несколько вариантов для решения одной задачи</p><div class="quotebox"><cite>InFlames пишет:</cite><blockquote><p>Для x это VK58, для ctrl+x это ^{VK58}</p><div class="codebox"><pre><code>#InstallKeybdHook
#InstallMouseHook</code></pre></div><p>Так же виртуальные коды есть <a href="http://api.farmanager.com/ru/winapi/virtualkeycodes.html">тут</a></p></blockquote></div><p>Благодарю за ссылку, а код этот я уже нашёл на форуме вчера где-то в районе 4-х ночи (я ведь отредактировал сообщение и там уже учавствует клавиша ^{VK58}. Правда предложенный вам &quot;проверщик&quot; я нашёл ещё с одной строчкой и выглядит он так:<br /></p><div class="codebox"><pre><code>#InstallKeybdHook
#InstallMouseHook
KeyHistory</code></pre></div><p>В общем все вопросы по этому полностью решены. Благодарю всех, кто участвовал. Возникло ещё несколько вопросов, но они выходят за рамки темы этого топика, поэтому я задал один из них <a href="http://forum.script-coding.com/viewtopic.php?id=5430">в этом топике</a>.</p>]]></description>
			<author><![CDATA[null@example.com (zuma)]]></author>
			<pubDate>Fri, 28 Jan 2011 15:37:38 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=44491#p44491</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как выполнить нажатие, если процесс opera.exe + странности]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=44477#p44477</link>
			<description><![CDATA[<p>Виртуальные коды можно посмотреть, открыв основное окно ниже написанного скрипта ahk (двойной клик на иконке в трее по значку ahk), и затем нажать ctrl+k.<br />Откроется история хоткеев, нажимаете нужный хоткей (для ctrl+x можно нажимать просто x). В соответствующем столбце будет виден виртуальный код нажатой клавиши.<br />Для x это VK58, для ctrl+x это ^{VK58}</p><div class="codebox"><pre><code>#InstallKeybdHook
#InstallMouseHook</code></pre></div><p>Так же виртуальные коды есть <a href="http://api.farmanager.com/ru/winapi/virtualkeycodes.html">тут</a></p>]]></description>
			<author><![CDATA[null@example.com (InFlames)]]></author>
			<pubDate>Fri, 28 Jan 2011 08:48:39 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=44477#p44477</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как выполнить нажатие, если процесс opera.exe + странности]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=44471#p44471</link>
			<description><![CDATA[<p><strong>zuma</strong>, не <br /></p><div class="codebox"><pre><code>~LButton &amp; RButton::
        IfWinActive, ahk_class OperaWindowClass
            …
        IfWinNotActive, ahk_class OperaWindowClass
            …</code></pre></div><p>а почитать про «<strong><span style="color: red">#</span></strong>IfWinActive»:<br /></p><div class="quotebox"><cite>InFlames пишет:</cite><blockquote><p>1. Использовать #IfWinActive ahk_class &lt;тут класс оперы&gt;</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Fri, 28 Jan 2011 08:20:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=44471#p44471</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как выполнить нажатие, если процесс opera.exe + странности]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=44469#p44469</link>
			<description><![CDATA[<p>Спасибо за быстрый ответ. не думал, что тут по ночам кто-то ещё шарится. Вот стал мучится, чтобы доделать.</p><p><strong>Второй вопрос</strong> разрешился полностью, но возник наводящий вопрос. А как узнать коды нажатых клавиш? Дайте строчку кода, чтобы в MsgBox выскакивало например (просто хочу ещё и Ctrl+x задействовать, а постоянно спрашивать коды, как-то глупо).</p><p><strong>Первый вопрос</strong> до конца не решён. Изначально я написал такой код:<br /></p><div class="codebox"><pre><code>~LButton &amp; RButton::
        IfWinActive, ahk_class OperaWindowClass
            Send, ^{Enter}
Return</code></pre></div><p>И он срабатывал, но в Кореле ничего не происходило. Т.е. видимо скрипт всё-таки перехватывает это сочетание, а в замен ничего не отдаёт<br />Тогда я написал так:<br /></p><div class="codebox"><pre><code>~LButton &amp; RButton::
        IfWinActive, ahk_class OperaWindowClass
            Send, ^{Enter}
        IfWinNotActive, ahk_class OperaWindowClass
            ~LButton &amp; RButton
Return</code></pre></div><p>Но так в Кореле тоже ничего не происходит. Может быть это особенности Корела, а может я чего-то не знаю?</p><p>Нашёл как победить:<br /></p><div class="codebox"><pre><code>~LButton &amp; RButton::
        IfWinActive, ahk_class OperaWindowClass
            Send, ^{Enter}
        IfWinNotActive, ahk_class OperaWindowClass
            MouseClick, Middle
Return</code></pre></div><p>И вот теперь бьюсь и не могу вставить Ctrl+x<br />Хочу, чтобы функция срабатывала так: &quot;Когда я нажимаю левую кнопку мыши и выделяю, я (не отпуская ЛКМ) нажимаю Xbutton2 и выделенное вырезается через сочетание Ctrl+x&quot;<br />Пробую код такой:<br /></p><div class="codebox"><pre><code>~LButton &amp; XButton2::Send, ^{vk58}</code></pre></div><p>Ничего не происходит. Как будто ничего и не нажимал.</p>]]></description>
			<author><![CDATA[null@example.com (zuma)]]></author>
			<pubDate>Thu, 27 Jan 2011 23:56:02 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=44469#p44469</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как выполнить нажатие, если процесс opera.exe + странности]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=44466#p44466</link>
			<description><![CDATA[<p>1. Использовать #IfWinActive ahk_class &lt;тут класс оперы&gt;</p><p>2. Использовать виртуальные коды ^{vk56} для ^v и ^{vk43} для ^c</p>]]></description>
			<author><![CDATA[null@example.com (InFlames)]]></author>
			<pubDate>Thu, 27 Jan 2011 22:39:49 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=44466#p44466</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как выполнить нажатие, если процесс opera.exe + странности]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=44465#p44465</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Я не хочу привязываться к названию окна, т.к. оно каждый раз разное.</p></blockquote></div><p>Привязываться к классу окна?! Помнится, так было можно.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Thu, 27 Jan 2011 22:39:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=44465#p44465</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как выполнить нажатие, если процесс opera.exe + странности]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=44464#p44464</link>
			<description><![CDATA[<p>Сейчас это произошло и без Notepaв++ . Ну ёлки палки. Перезапуск программы ничего не даёт. Просто обидно... то работала как часы, теперь переключается в режим &quot;без CTRL&quot; и никак не получается вернуть.</p>]]></description>
			<author><![CDATA[null@example.com (zuma)]]></author>
			<pubDate>Thu, 27 Jan 2011 22:20:53 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=44464#p44464</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Как выполнить нажатие, если процесс opera.exe + странности]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=44463#p44463</link>
			<description><![CDATA[<div class="codebox"><pre><code>Menu, Tray, Icon, mouse1.ico, 1
~LButton &amp; RButton::Send, ^{Enter}
XButton2::Send, ^c
XButton1::Send, ^v
MButton::Click 2</code></pre></div><p>Вот такой код.</p><p><strong>Вопрос 1</strong>: (пол форума перерыл, так и не смог понять, как это сделать)<br />В Опере есть такое сочетание клавиш как Ctrl + Enter. Оно используется для автоввода пары логин-пароль<br />И вот я сделал такое сочетание:<br /></p><div class="codebox"><pre><code>~LButton &amp; RButton::Send, ^{Enter}</code></pre></div><p>И оно прекрасно работает, но когда я вдруг открыл Corel или Xara, то там сочетание &quot;когда зажата правая, нажимаем левую&quot; используется для копирования объектов и если в Xara этот вопрос можно легко обойти, то в Corel как это сделать непонятно.<br />В связи с таки положением вещей, я хочу сделать так, чтобы скрипт выполнял вышеуказанную строчку кода, только тогда, когда активный процесс является opera.exe . Я не хочу привязываться к названию окна, т.к. оно каждый раз разное.<br />Т.е. мне нужен такой алгоритм:<br /></p><div class="quotebox"><blockquote><p>1. Когда я нажимаю это ~LButton &amp; RButton<br />2. Произвести проверку активного окна и<br />3. Если активное окно это программа opera.exe, то выполнить Send, ^{Enter}<br />4. А если активное окно это другой процесс, то ничего не делать</p></blockquote></div><p><strong>Вопрос 2</strong><br />Вот код:<br /></p><div class="codebox"><pre><code>XButton2::Send, ^c
XButton1::Send, ^v
MButton::Click 2</code></pre></div><p>В котором исправно работает только MButton::Click 2<br />А Первые две строчки работают... работают и вдруг в какой-то момент БАЦ... и перестаёт работать Ctrl.<br />Т.е. я нажимаю XButton2 и вместо копирования у меня в активное окно печатается буква &quot;c&quot;<br />Соотвественно нажатие XButton1 приводит к вставке буквы &quot;v&quot;</p><p>Проявляется это спонтанно. Я не могу отловить никак. Не знаю почему и самое главное не знаю, в связи с чем такое вообще возможно.<br />И что самое интересно, иногда это проходит. Само по себе проходит тоже не понятно по каким причинам.</p><p>Может быть TranslateClient как-то влияет. Может быть KeySwitcher.</p><p>Если я в трее нажимаю Pause, а затем снова запуск.... это ничего не меняет. Т.е. если прога переключилась в режим &quot;просто c и просто v&quot;, <span style="color: #FCFCFC">то помогает только перезапуск программы.</span> нифига не помогает даже перезапуск. В чём причина не знаю. Сейчас уже перезапускал раз 10... не помогает. Программа ушла в непонятку, что может влиять не знаю, хотя похоже <strong>при переходе в окно Notepad++</strong> </p><p>Как полечить второе вообще не знаю, сейчас выловил, что проблема в Notepad++ решается его перезапуском. Но, что интересно, обычное сочетание Ctrl+c и Ctrl+v на клавиатуре в ноутпаде++ прекрасно работает. </p><p>Может подскажите, как решить подобную проблему. Может быть как-то укрупнить скрипт и что-нибудь придумать такое эдакое. </p><p>Os. WinXP Pro SP3</p>]]></description>
			<author><![CDATA[null@example.com (zuma)]]></author>
			<pubDate>Thu, 27 Jan 2011 22:18:27 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=44463#p44463</guid>
		</item>
	</channel>
</rss>
