<?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="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5362&amp;type=atom" />
	<updated>2011-01-12T10:07:02Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=5362</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Создание лога нажатых клавиш.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=43590#p43590" />
			<content type="html"><![CDATA[<p>Ура, нашел решения проблемы, просто подкорректировал свой второй скрипт.<br />Вот что вышло(для буквы q)<br /></p><div class="codebox"><pre><code>hotkey, q, qm, on
hotkey, CapsLock, cp, on

GetKeyState, CapsState, CapsLock, T
If CapsState = D
cp = 1
else
cp = 0
cp:
SendPlay, {CapsLock}
if cp = 1
cp = 0
else
cp = 1
return
qm:
if cp = 1 
{
FileAppend, q`n, 1.txt
SendPlay, q
}
else
{
FileAppend, Q`n, 1.txt
SendPlay, Q
}
return</code></pre></div><p>Работает отлично! Берите, если кому надо.</p>]]></content>
			<author>
				<name><![CDATA[G0r]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26621</uri>
			</author>
			<updated>2011-01-12T10:07:02Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=43590#p43590</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Создание лога нажатых клавиш.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=43516#p43516" />
			<content type="html"><![CDATA[<p>Давно этим не занимался, но могу подкинуть пищу для ума.<br />При нажатии клавиш 1-9 в активное окно (например notepad) посылается код, готовый к исполнению.<br />Вам остаётся сообразить, как прописать это для нужных клавиш, и как записывать в файл, а не посылать в окно.</p><div class="codebox"><pre><code>SetKeyDelay, 0
start_time := A_TickCount


*1::
*2::
*3::
*4::
*5::
*6::
*7::
*8::
*9::
*0::

var := REGEXREPLACE(A_ThisHotkey, &quot;(\*)(\w+)&quot;, &quot;$2&quot;)

IF %var%flag &lt;&gt; 1
{
elapsed_time := A_TickCount - start_time
send, Sleep, %elapsed_time%`n
start_time := A_TickCount
SendRaw Send {%var% Down}`n
%var%flag := 1
}
return



*1 Up::
*2 Up::
*3 Up::
*4 Up::
*5 Up::
*6 Up::
*7 Up::
*8 Up::
*9 Up::
*0 Up::

var := REGEXREPLACE(A_ThisHotkey, &quot;(\*)(\w+)(\s)Up&quot;, &quot;$2&quot;)

IF %var%flag  = 1
{
elapsed_time := A_TickCount - start_time
send, Sleep, %elapsed_time%`n
start_time := A_TickCount
SendRaw Send {%var% Up}`n
%var%flag := 0
}
return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2011-01-10T18:21:17Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=43516#p43516</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Создание лога нажатых клавиш.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=43515#p43515" />
			<content type="html"><![CDATA[<p>Здравствуйте.<br />Пытаюсь написать скрипт для создания лога нажатых клавиш.<br />Сначала решил повесить на клавиши скрипты, вот что вышло:<br /></p><div class="codebox"><pre><code>q::
FileAppend, q`n, 1.txt
SendPlay, q
return
w::
FileAppend, w`n, 1.txt
SendPlay, w
return
e::
FileAppend, e`n, 1.txt
SendPlay, e
return</code></pre></div><p>И так далее для каждой клавиши.<br />Но такой скрипт не учитывает каплюкс.</p><p>Написал еще такой: (Для клавиши q)<br /></p><div class="codebox"><pre><code>f:
GetKeyState, CapsState, CapsLock, T
If CapsState = D
{
hotkey, q, qb, on
}
Else
{
hotkey, q, qm, on
}
return
goto f


qm:
FileAppend, Q`n, 1.txt
SendPlay, Q
goto f
return
qb:
FileAppend, q`n, 1.txt
SendPlay, q
goto f
return</code></pre></div><p>Но он почему-то работает не правильно, а именно:<br />Сначала я нажал q с капсом, затем без капса, и еще раз без капса. А в лог полетело вот такое:<br /></p><div class="codebox"><pre><code>Q
Q
q</code></pre></div><p>Тоесть первые два раза он записал бекву&nbsp; с капсом, и только на третий без. А должно было быть наоборот.<br />Помогите пожалуйста с моим вопросом, уж очень нужна мне такая штука.<br />PS. Про команду KeyHistory знаю, но не знаю как ей сохранить лог в файл(если это возможно конечно)</p>]]></content>
			<author>
				<name><![CDATA[G0r]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26621</uri>
			</author>
			<updated>2011-01-10T17:20:17Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=43515#p43515</id>
		</entry>
</feed>
