1

Тема: AHK: Скрипт-логгер

Доброго дня, форумчане. Требуется написать программу, которая будет логировать кол-во нажатий ЛКМ в текстовый файл. Пробовал делать через переменную и цикл, но число не обновляется. Так-же пробовал использовать GetKeyState, но запорол код) Я чайник, не судите строго, жду ваших решений!

2

Re: AHK: Скрипт-логгер

Ваши наработки?

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

3 (изменено: Clannad5, 2022-11-11 16:04:18)

Re: AHK: Скрипт-логгер

Arenbiker, если я правильно вас понял:


LB := 0
LButton::
{
If A_ThisHotkey = LButton ; в данном примере можно и без этого.
{
SendInput {LButton Down}
KeyWait, LButton, U
SendInput {LButton Up}
LB++
FileDelete, C:\LButtonLog.txt
FileAppEnd, %LB%, C:\LButtonLog.txt
}
}

Либо можно еще так:

LB := 0
LButton::
{
If A_ThisHotkey = LButton ; в данном примере можно и без этого.
{
SendInput {LButton Down} 
KeyWait, LButton, U
SendInput {LButton Up}
LB++
SetTimer, End, 1000
}
}
return

End:
FileDelete, C:\LButtonLog.txt
FileAppEnd, %LB%, C:\LButtonLog.txt
SetTimer, End, Off
return

Пересоздание лога происходит только после односекундной паузы.

4

Re: AHK: Скрипт-логгер

Clannad5

Ваш код хоть выполняет задуманное, но совершенно не оптимален.
Я предпочитаю подобный скрипт:

#SingleInstance Force
#NoEnv
#KeyHistory 0
ListLines, Off
SetBatchLines -1
Menu, Tray, NoStandard
Menu, Tray, Add, Выход, Exit
Set := SubStr(A_ScriptName, 1, -4) . ".ini"
IniRead, LKM, % Set, Key, LKM, 0	; Прочесть кол-во нажатий из файла.
OnExit, Exit	; При завершении скрипта выполнить метку.
Return

Exit:	; Сохранить кол-во нажатий ЛКМ в файл.
IniWrite, % LKM, % Set, Key, LKM
ExitApp
Return

~*vk1:: LKM++
Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

5

Re: AHK: Скрипт-логгер

Clannad5, а чего вы отступы в коде не используете, ведь читать неудобно.

6

Re: AHK: Скрипт-логгер

Malcev
Есть такая вспомогательная программа 'Quick Converter V2', в которой окно поделено на два редактора.
Там не шибко раскрутишься по рабочей области, если будешь делать отступы, зато на нём легко быстро конвертировать готовый код, либо написать на AHK V1, под вторую версию.

7

Re: AHK: Скрипт-логгер

Но это же не проблема читающих ваш код.