<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Копирование и вставка текста одной кнопкой]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=10843&amp;type=atom" />
	<updated>2017-06-06T23:45:20Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=10843</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование и вставка текста одной кнопкой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=116438#p116438" />
			<content type="html"><![CDATA[<p>Это потому, что в &quot;Google Chrome&quot; одновременно нажимается &quot;MButton&quot;, вместо &quot;MButton&quot;, поставь &quot;F8&quot;, например.</p>]]></content>
			<author>
				<name><![CDATA[svoboden]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=34280</uri>
			</author>
			<updated>2017-06-06T23:45:20Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=116438#p116438</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование и вставка текста одной кнопкой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=116436#p116436" />
			<content type="html"><![CDATA[<p>Доброго времени суток. Последний скрипт из #11 поста мне очень понравился, он копирует вставляет одной кнопкой <span class="bbu">только текст</span> , а не как все скрипты подобного плана копируют, вставляют всё, даже файлы и папки. Но в нём есть небольшой недостаток он не работает в &quot;Google Chrome&quot; а в остальных программах работает . Подскажите пожалуйста как исправить данный недостаток.</p>]]></content>
			<author>
				<name><![CDATA[Ядрён]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=30092</uri>
			</author>
			<updated>2017-06-06T23:01:34Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=116436#p116436</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование и вставка текста одной кнопкой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=96413#p96413" />
			<content type="html"><![CDATA[<p>Всем привет!<br />Хочу предложить мою версию копирования вставки одной кнопкой.<br />Копирование или вставка происходит при кликании средней кнопкой мышкой внутри любого окна, быстрое нажатие посылает ctrl + C, а удержание ср.кнопки в течении некоторого времени посылает ctrl + V<br />Но это только часть задумки, можно запрограммировать разные действия кликая мышкой по разным элементам окна (заголовок, кнопки свернуть/развернуть и границы окна)..<br />Буду рад если кому то пригодится или кто то предложит более правильный и эффективный код</p><div class="codebox"><pre><code>
#Persistent ;
WM_NCHITTEST(){ ;Функция используется для определения области, над которой находится указатель.
   CoordMode, Mouse, Screen ;Влияет на MouseGetPos.Координаты будут относительно экрана.
   MouseGetPos, x, y, z ; x-y определение позиции курсора. z hwnd окна над которым находится курсор.
   SendMessage, 0x84, 0, (x&amp;0xFFFF)|(y&amp;0xFFFF)&lt;&lt;16,, ahk_id %z% ; Отправляет сообщение WM_NCHITTEST окну который находится по курсором.
  Return Errorlevel ; Ответ функции равен ответу оконного сообщения.
}

MyLabel:                    ; Метка начало цикла
MyNumber := WM_NCHITTEST()

if GetKeyState(&quot;RButton&quot;)    ;Если нажата правая кн.мышки
    {
    mb:=0
    if rb=0                        ; это первое нажатие?
        {
        rb:=1                    ; устанавливаем флаг чтобы небыло множественных срабатываний
        if MyNumber=8                ; курсор на кнопке сворачивания окна
            {
            WinSet, AlwaysOnTop, Off, A    ; отключить окно Поверх всех окон.
            WinSet, Transparent, 255, A     ; Сделать окно видимым.
            }
        if MyNumber=9                        ; курсор на кнопке разворачивания окна в полный экран
            {
            WinSet, Transparent, 200, A     ; Сделать окно слегка прозрачным.
            WinSet, AlwaysOnTop,  On, A        ; Сделать окно Поверх всех окон.
            }

        }
    }
else
    {
    if GetKeyState(&quot;MButton&quot;)
        {
        rb:=0
        if mb=0                        ;это первое нажатие?
            {
            mb:=1                    ;флаг что средняя кн уже нажата
            if MyNumber=1                ; курсор в клиентской области окна
                {
                time:=0
                while GetKeyState(&quot;MButton&quot;)    ;Цикл выполняется пока нажата кнопка
                    {
                    Sleep, 50
                    time:=time+1
                    if time &gt; 10                ;Ели длительное нажатие
                        {
                        SoundBeep, 900, 50
                        Send, ^{vk56}              ; Ctrl-V вставка из буфера
                        Goto, MyLabel            ; и выходим из цикла
                        }
                    }
                    SoundBeep, 500, 50
                    Send, ^{vk43}                ; Ctrl-C копирование в буфер
                }
            }
        }
    else
        {
        mb:=0
        rb:=0
        }
    }


Sleep, 100                ; Ждем 1/10 секунды
Goto, MyLabel                ; Переход к Метке MyLabel
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Alexey244]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=32963</uri>
			</author>
			<updated>2015-08-12T19:07:02Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=96413#p96413</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование и вставка текста одной кнопкой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=96186#p96186" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p><strong>yalanne пишет:</strong></p></blockquote></div><p>Они работают стабильно просто немного по другому в отличии от вашего.</p><p>В вашем скрипте при нажатии кнопки Lwin текст сначала копируется(если не чего не выделено то оставляет предыдущий результат), а потом сразу же вставляется(заменяя только что выделенный текст) и при втором нажатии если текст не выделен, в клипбоард не чего не заносится, остается предыдущий результат и он же вставляется.</p><br /><p>Я ровным счётом никого не хотел обидеть, но всё что вами описано выше это как раз то что мне нужно. Не больше и не меньше. </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"><p><strong>Извините если кого обидел</strong></p></div></div>]]></content>
			<author>
				<name><![CDATA[Ядрён]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=30092</uri>
			</author>
			<updated>2015-08-02T18:28:52Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=96186#p96186</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование и вставка текста одной кнопкой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=96177#p96177" />
			<content type="html"><![CDATA[<p>А Shift-Del = Ctrl-X.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2015-08-02T09:54:04Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=96177#p96177</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование и вставка текста одной кнопкой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=96176#p96176" />
			<content type="html"><![CDATA[<p>В первом сообщении не понятно назначение многих строк. По-моему всё то же самое делает такой скрипт:<br /></p><div class="codebox"><pre><code>vk5B:: SendInput, ^{vk2D}^{vk56}</code></pre></div><p>OFF:<br />Shift+Ins это то же, что и Ctrl+V. Вроде эти сочетания клавиш пришли к нам из старых программ, существовавших ещё до Windows.</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2015-08-02T09:11:02Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=96176#p96176</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование и вставка текста одной кнопкой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=96175#p96175" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Ядрён пишет:</cite><blockquote><p>Оба скрипта работают не стабильно</p></blockquote></div><p>Они работают стабильно просто немного по другому в отличии от вашего.</p><p>В вашем скрипте при нажатии кнопки Lwin текст сначала копируется(если не чего не выделено то оставляет предыдущий результат), а потом сразу же вставляется(заменяя только что выделенный текст) и при втором нажатии если текст не выделен, в клипбоард не чего не заносится, остается предыдущий результат и он же вставляется.</p><p>А в сообщениях 5 и 3 логика одинакова, просто мой скрипт реализован чуток сложнее. По нажатию lwin скрипт сразу же начинает ждать отжатия клавиши, затем в течении 200мс ожидается второе нажатие, если его нет то ErrorLevel(p в моем случае) = 1, а если есть 0. При 1 нажимается ctrl + c и выводит сообщение то что текст скопирован. При 0 нажимается ctrl + v и выводит сообщение то что текст вставлен.<br />То есть для вставки надо нажать быстро lwin 2 раза(с такой же скоростью к примеру как левой кнопкой открываете папку)<br />А для копирования 1 раз lwin.<br />Скрипт сделает одно действие в зависимости как нажали, а в вашем же сделает хоть как 2.</p><p>p.s я даже и не знал что ctrl+ins это то же самое что и ctrl+c. <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[yalanne]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=32850</uri>
			</author>
			<updated>2015-08-02T08:38:01Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=96175#p96175</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование и вставка текста одной кнопкой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=96173#p96173" />
			<content type="html"><![CDATA[<p>Оба скрипта работают не стабильно, приходится нажимать кнопку &quot;LWin&quot; то 2 то 3 раза . Но нет худа без добра по совету модератора <strong>ypppu</strong> я начал переоформление темы заново и заодно переделал свой скрипт , как показывает практика скрипт работает адекватно везде. Большое спасибо за то что откликнулись <strong>yalanne</strong> и <strong>serzh82saratov</strong> . Отдельное спасибо <strong>ypppu</strong> .</p>]]></content>
			<author>
				<name><![CDATA[Ядрён]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=30092</uri>
			</author>
			<updated>2015-08-01T22:17:32Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=96173#p96173</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование и вставка текста одной кнопкой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=96172#p96172" />
			<content type="html"><![CDATA[<p>Думаю так проще.<br /></p><div class="codebox"><pre><code>LWin::  
    KeyWait, %A_ThisHotkey% 
    KeyWait, %A_ThisHotkey%, D T0.2 
    Send % &quot;{LCtrl Down}{&quot; ((Copy := ErrorLevel) ? &quot;vk43&quot; : &quot;vk56&quot;) &quot;}{LCtrl Up}&quot;  ; vk43 = C, vk56 = V
    Tooltip % &quot;Текст &quot; (Copy ? &quot;скопирован.&quot; : &quot;вставлен.&quot;)  
    Return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2015-08-01T19:18:45Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=96172#p96172</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование и вставка текста одной кнопкой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=96171#p96171" />
			<content type="html"><![CDATA[<p>Предлагаю повысить грамотность первого сообщения. Походит на потоки сознания.</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2015-08-01T18:11:52Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=96171#p96171</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование и вставка текста одной кнопкой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=96170#p96170" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>lwin::
keywait lwin
p:=0
loop 20
 if GetKeyState(&quot;Lwin&quot;,&quot;p&quot;) and (p:=1)
    break
else
    sleep 10
send % &quot;^{SC02&quot; ((p)? &quot;F&quot; : &quot;E&quot;) &quot;}&quot;
tooltip % &quot;Текст &quot; ((p)? &quot;вставлен.&quot; : &quot;скопирован.&quot;)
keywait lwin</code></pre></div><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;с коментами</div><div class="fancy_spoiler"><div class="codebox"><pre><code>lwin:: ;нажимаем и ждем отжатия кнопки
keywait lwin
p:=0 ; сбрасываем предыдущий результат.
loop 20 ;ждем 200мс если в течении этого времени повторно нажата клавиша, то добовляем +1 в переменную и остонавливаем цикл.
 if GetKeyState(&quot;Lwin&quot;,&quot;p&quot;) and (p:=1)
    break
else
    sleep 10
send % &quot;^{SC02&quot; ((p)? &quot;F&quot; : &quot;E&quot;) &quot;}&quot; ;нажимает клавишу по сканкоду. если переменная равна 0 то скан код будет SC02E(c) иначе SC02F(v)
tooltip % &quot;Текст &quot; ((p)? &quot;вставлен.&quot; : &quot;скопирован.&quot;) ; показываем статус скрипта.
keywait lwin ; ожидаем второе отжатие.</code></pre></div></div></div><p>Ну вот копирование вставка одной кнопкой(lwin):<br />один клик скопировать.<br />два клика вставить.</p>]]></content>
			<author>
				<name><![CDATA[yalanne]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=32850</uri>
			</author>
			<updated>2015-08-01T18:01:23Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=96170#p96170</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование и вставка текста одной кнопкой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=96169#p96169" />
			<content type="html"><![CDATA[<p>Предложу указывать в комментариях, что означают виртуальные коды.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2015-08-01T16:10:49Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=96169#p96169</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Копирование и вставка текста одной кнопкой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=96168#p96168" />
			<content type="html"><![CDATA[<p>Доброго времени суток. Сделал скрипт на копирование и вставку текста одной кнопкой, но работает не везде. Помогите доработать или предложите свою версию. <br /></p><div class="codebox"><pre><code>vk5B:: ; &quot;LWIN&quot;
SendInput, ^{vk2D} ; &quot;ctrl&quot; &quot;insert&quot;  копировать
ClipWait
if (A_PriorHotkey &lt;&gt; &quot;vk5B &quot; or A_TimeSincePriorHotkey &gt; 750)
KeyWait, vkA2 vk2D  ; &quot;ctrl&quot; &quot;insert&quot;  копировать
SendInput, ^{vk56} ; &quot;ctrl&quot; &quot;v&quot;  вставить
SoundBeep, 50 , 50
return</code></pre></div><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"><p>Уважаемый <strong>ypppu</strong> , теперь тема оформлена грамотно? Глаз не режет ))</p></div></div>]]></content>
			<author>
				<name><![CDATA[Ядрён]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=30092</uri>
			</author>
			<updated>2015-08-01T15:28:20Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=96168#p96168</id>
		</entry>
</feed>
