<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK:  Вставка в буфер обмена.]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=8834</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8834&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK:  Вставка в буфер обмена.».]]></description>
		<lastBuildDate>Tue, 29 Oct 2013 12:07:56 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK:  Вставка в буфер обмена.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=76658#p76658</link>
			<description><![CDATA[<p>Нет, это не проблема, я так и сделал - я тему же поднимал по вставке в буфер обмена по конкретному сочетанию клавиш, а исходный скрипт просто запоминает буфер обмена в очередь с исключением повторения.</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Tue, 29 Oct 2013 12:07:56 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=76658#p76658</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK:  Вставка в буфер обмена.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=76651#p76651</link>
			<description><![CDATA[<div class="quotebox"><cite>Indomito пишет:</cite><blockquote><p> + сканкоды ещё идут не последовательно, т.е. сканкод Num1 не самая меньшая - Num4=0x4b</p></blockquote></div><p>Это разве проблема? Трудно под каждым хоткеем написать что-то типа<br /></p><div class="codebox"><pre><code>
Index = 1    ; 2, 3, 4 и т.д.
</code></pre></div><p>?</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Tue, 29 Oct 2013 11:36:59 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=76651#p76651</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK:  Вставка в буфер обмена.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=76644#p76644</link>
			<description><![CDATA[<div class="quotebox"><cite>YMP пишет:</cite><blockquote><p>Хоткей срабатывает, а что при этом произойдёт, зависит от кода хоткея.</p></blockquote></div><p> ясно, спасибо.</p><div class="quotebox"><cite>YMP пишет:</cite><blockquote><p>А при чём здесь 0xC? Numpad1, Numpad2 и т.д. Цифры же на конце.</p></blockquote></div><p> если написать<br /></p><div class="codebox"><pre><code>NumPad1::
; код
return</code></pre></div><p> то он сработает только при выключенном NumLock, а если написать </p><div class="codebox"><pre><code>sc4f::
; код
return</code></pre></div><p> он сработает всегда + сканкоды ещё идут не последовательно, т.е. сканкод Num1 не самая меньшая - Num4=0x4b</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Tue, 29 Oct 2013 11:01:19 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=76644#p76644</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK:  Вставка в буфер обмена.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=76631#p76631</link>
			<description><![CDATA[<p>Хоткей срабатывает, а что при этом произойдёт, зависит от кода хоткея.</p><p>А при чём здесь 0xC? Numpad1, Numpad2 и т.д. Цифры же на конце.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Tue, 29 Oct 2013 09:37:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=76631#p76631</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK:  Вставка в буфер обмена.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=76627#p76627</link>
			<description><![CDATA[<div class="quotebox"><cite>YMP пишет:</cite><blockquote><p>Про функцию АНК не понял. Что имеется в виду?</p></blockquote></div><p> т.е. если есть выделенный текст и я нажимаю Ctrl-Num1 то срабатывает нужный хоткей и текст в буфере обмена. Верно?</p><div class="quotebox"><cite>YMP пишет:</cite><blockquote><p>Почему фокус не пройдёт? Там же тоже цифра на конце.</p></blockquote></div><p> не такая же. Num1 = 0xC это разве 1?</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Tue, 29 Oct 2013 09:08:46 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=76627#p76627</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK:  Вставка в буфер обмена.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=76625#p76625</link>
			<description><![CDATA[<p>Вставку в буфер обмена реализует приложение, в окно которого вы посылаете Ctrl-C. Про функцию АНК не понял. Что имеется в виду?</p><p>Почему фокус не пройдёт? Там же тоже цифра на конце.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Tue, 29 Oct 2013 08:58:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=76625#p76625</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK:  Вставка в буфер обмена.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=76623#p76623</link>
			<description><![CDATA[<p>И еще Ctrl-C вставляет в буфер обмена выделенный текст, а какая функция в AHK это реализует?</p><div class="quotebox"><cite>YMP пишет:</cite><blockquote><p>Там отрезается последний символ от названия хоткея, т.е. 1 от F1, 2 от F2 и т.д. Так получаются индексы от 1 до 4.</p></blockquote></div><p> с NumPad такой <em>&quot;фокус&quot;</em> не пройдёт - надо будет исправить.</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Tue, 29 Oct 2013 08:03:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=76623#p76623</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK:  Вставка в буфер обмена.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=76622#p76622</link>
			<description><![CDATA[<p>Там отрезается последний символ от названия хоткея, т.е. 1 от F1, 2 от F2 и т.д. Так получаются индексы от 1 до 4.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Tue, 29 Oct 2013 08:00:53 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=76622#p76622</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK:  Вставка в буфер обмена.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=76621#p76621</link>
			<description><![CDATA[<div class="quotebox"><cite>YMP пишет:</cite><blockquote><p>Ну, очевидно, по тому же принципу, как в скрипте выше. Берётся цифра с конца A_ThisHotkey и используется как индекс массива.</p></blockquote></div><p> Спасибо, попробую, может получится.<br />Кстати я не очень понял конструкцию <em>Clipboard := clipHistory<strong>[Index := SubStr(A_ThisHotkey,0)]</strong></em> ведь </p><div class="quotebox"><blockquote><p><strong>SubStr(String, StartingPos [, Length])</strong>&nbsp; Copies a substring from String starting at StartingPos and proceeding rightward to include at most Length characters... For example, <strong>0 extracts the last character</strong> and -1 extracts the two last characters.</p></blockquote></div><p> при нуле идёт один символ, а для F1 = 0xB, F1 = 0xC, етс, как они связаны с индексом? Когда же я просто заменил&nbsp; на NumPad скан-коды, из-за их двойных виртуальных кодов, то всё перестало работать.</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Tue, 29 Oct 2013 07:57:36 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=76621#p76621</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK:  Вставка в буфер обмена.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=76620#p76620</link>
			<description><![CDATA[<p>Ну, очевидно, по тому же принципу, как в скрипте выше. Берётся цифра с конца A_ThisHotkey и используется как индекс массива. Комбинации с Ctrl копируют, а с Shift вставляют.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Tue, 29 Oct 2013 07:25:46 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=76620#p76620</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK:  Вставка в буфер обмена.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=76619#p76619</link>
			<description><![CDATA[<p>При нажатии на <strong>Ctrl-C</strong> содержимое попадает в массив по принципу очереди, с отслеживанием повторов. Я хочу, что бы содержимое попадало в конкретный элемент массива, т.е. на ту клавишу для вставки, которую я разрешил.</p><p>У меня, после переделки, задействован <strong>NumPad</strong> и массив состоит из 9-ти элементов, и надо что бы попадало туда, куда нужно не стирая то, что было ранее, если я не позволил.</p><p>Конечно, можно указать заранее, но хотелось бы сделать перехват - проблема в том,&nbsp; что вставка идёт не только клавиатурой, но и мышкой.</p><p>Может быть, стоит сделать так:<br />Вставка в буфер&nbsp; &nbsp; &nbsp;- <strong>Ctrl+NumPad1(NumPad9)</strong><br />Обратное действие - <strong>Shift+NumPad1(NumPad9)</strong><br />Остальное попадает в <strong>NumPad0</strong> по <strong>Ctrl+C</strong> или иным клавишам и мышке.</p><p>Как правильно реализовать функцию <strong>Ctrl+C</strong> по <strong>Ctrl+NumPad1(NumPad9)</strong> ?</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Tue, 29 Oct 2013 07:15:43 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=76619#p76619</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK:  Вставка в буфер обмена.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=76616#p76616</link>
			<description><![CDATA[<p>Прочитал вопрос 3 раза, но так и не понял. Кто может запихнуть? Что всё? В чём неопределённость комбинации? В чём должна заключаться конкретность клавиши?</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Tue, 29 Oct 2013 06:18:57 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=76616#p76616</guid>
		</item>
		<item>
			<title><![CDATA[AHK:  Вставка в буфер обмена.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=76613#p76613</link>
			<description><![CDATA[<p>В своё время я у <strong>creature.ws</strong> &quot;утянул&quot; этот скрипт - </p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>; Windows Vista+
; AHK-L
#SingleInstance Ignore
#KeyHistory 0
#NoEnv
#NoTrayIcon
OnExit, ExitSub
DllCall(&quot;AddClipboardFormatListener&quot;, &quot;Int&quot;, A_ScriptHwnd)
OnMessage(WM_CLIPBOARDUPDATE := 0x031D, &quot;ClipSave&quot;)
clipHistory := []

Esc &amp; F1::
Esc &amp; F2::
Esc &amp; F3::
Esc &amp; F4::
    Clipboard := clipHistory[Index := SubStr(A_ThisHotkey,0)]
    Controlgetfocus, FClassNN, A
    SendMessage, 0x302,,,%FClassNN%, A
    SendMessage, 0x8  ,,,%FClassNN%, A
    SendMessage, 0x7  ,,,%FClassNN%, A
Return

$Esc Up::Send {Blind}{Esc}
Return

ClipSave()
{
    global
    If (clipHistory[Index] = Clipboard)
        Return
    If !newIndex := clipHistory.MaxIndex()+1
        newIndex := 1
    If (newIndex &gt; 4)
        clipHistory.Remove(1), newIndex--
    clipHistory.Insert(newIndex, Clipboard)
    Return
}

ExitSub:
    DllCall(&quot;RemoveClipboardFormatListener&quot;, &quot;Int&quot;, A_ScriptHwnd)
    ExitApp
Return</code></pre></div></div></div><p> Немного его поправил и дополнил (исправил реализацию с очереди на дек), но возникла проблема при нажатии на Ctrl+C ,etc, т.е. все, что может запихнуть, в буфер обмена попадает на неопределённую комбинацию&nbsp; - на&nbsp; Esc+ F1, Esc+F2, Esc+F3 и Esc+F4.<br />Это можно как то победить, т.е. вставка происходила на конкретную клавишу (элемент массива)</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Tue, 29 Oct 2013 05:44:46 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=76613#p76613</guid>
		</item>
	</channel>
</rss>
