Re: AHK: Замена "Window Spy"
AhkSpy v1.047
+ Небольшие доработки
Win10x64 AhkSpy, Hotkey, ClockGui
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
AhkSpy v1.047
+ Небольшие доработки
AhkSpy v1.049
+ Небольшие доработки
Кстати, я одно время искал подобные тулзы, вот что нашел:
AutoIt3 Window Info - идет в компелкте с AutoIt3. Функционал тот же.
Winspector Spy - позволяет отлавливать WM_Message.
InqSoft Window Scanner - от автора языка neos0m. Шикарная вещь! Позволяет менять "на лету" стили, размеры, посылать произвольные WM_Message !sic! произвольному элементу, дерево окон. И многое другое!
То есть можно отследить сообщение Winspector-ом и послать из интерфейса InqSoft. Must have.
AhkSpy v1.050
+ Небольшие доработки
Отличный скрипт, который уже давно использую, но почему-то сегодня нет загрузки. Вчера загрузка шла с ошибкой. ....
serzh82saratov, может код скрипта лучше публиковать?
AhkSpy v1.052
+ Добавил Cursor type & Caret pos.
+ Добавил координаты мыши относительно окна под мышкой, было только относительно активного окна.
может код скрипта лучше публиковать?
Да беда тут с файлами. Буду выкладывать code.
Большое спасибо! Сейчас опять не смог загрузить файл ....
AhkSpy v1.055
+ степень прозрачности окна
+ цвет, который в окне задан как прозрачный
+ количество всех элементов управления окна
AhkSpy v1.056
+ Поправки интерфейса
Минутку, заодно баг устраню.
В свете недавних тем на форуме, и ради своего удобства:
+ Теперь показывает инфо о элементе под мышкой, в контроле "Internet Explorer_Server", наподобии "iWB2 Learner". Наслаждаемся
Раньше был просто весь текст страницы (упразднён).
Это хорошее нововедение.
Но я бы вынес в отдельную вкладку.
Отдельная вкладка это слишком. Тут плюс перед Edit контролом, что при загрузке содержимого скролл остаётся на месте, потому можно просто поднять до строки ( Info - Internet Explorer_Server ) и довольно спокойно пользовать. Хотел повесить на F5 переход по якорю к этой строке, то есть сделать нужную первой видимой строкой, но ничего не вышло. Известная конструкция не работает:
<p><a name="top"></a></p>
...
<p><a href="#top">Наверх</a></p>
Кто знает как в HTMLFile это провернуть, делитесь.
Да и ещё вопрос до кучи, как быть с контролом "AtlAxWin"? В некоторых приложениях Internet Explorer_Server определяется как AtlAxWin, причём то так до эдак от запуска к запуску, но код с AtlAxWin уже неработает.
Разобрался с AtlAxWin. Исправил баги.
+ При нажатии Shift над Internet Explorer_Server элементы обводятся красной рамкой.
AhkSpy v1.060
+ При нажатии Shift теперь обводятся также окна и контролы.
В режиме Button другие окна не воспринимают текст.
Обводка это хорошо, но шифт зажимать все время неудобно - может вывести включение/выключение на капслок?
Обводка это хорошо, но шифт зажимать все время неудобно - может вывести включение/выключение на капслок?
Тоже думал об этом, но постоянные мелькания меня раздражают, да и при нажатии Shift+Tab удобно.
В режиме Button другие окна не воспринимают текст.
Не понял, кнопки блокируются? Уже сто лет такой траблы ни разу не замечал.
При активной вкладке Button, даже при не активном ahkspy все нажатия кнопок отправляются в ahkspy.
У меня на Win7 такого ни разу не было. У Вас ХР? Потестируйте, там ShellProc ждёт активаций окон. 730 строка.
У меня win7. Не понимаю, что тестировать.
ShellProc при активации окон.
Не понимаю.
Отрестартил компьютер и заработало.
Чтобы это значило?
AhkSpy v1.062
Ещё пофиксил. Ввёл переменную периода опроса данных, было 200 сделал 100.
Доброе утро. Извините что беспокою вас но сказали что вы тут лучший программист. У меня такая проблема что я очень повредил руку и сломал пальцы. Очень люблю играть в мировые танки а там есть такие функции: выстрел по нажатию левой кнопки мыши и ставить маркер атаки на противника кнопка на клавиатуре "пробел", настройки игры не дают такие возможности чтобы совместить эти две функции на левую кнопку мыши, а мне одной рукой еще очень долго совсем не возможно играть. Не могли бы вы сделать такой скрипт (мод, программка) которая за пускалась уже в игре по нажатию любой кнопки F1-12 и работала объединяла две функциональные кнопки игры на левую кнопку мыши. (т.е. и выстрел шел и в тоже время нажатие на клавиатуре на кнопку пробел маркеровалась цель). В любом случае большое вам спасибо за ваше потраченное время.
ptktysq1, согласно Правилам форума (которые необходимо изучить) одна тема - один вопрос. Создавайте отдельную тему.
ptktysq1 Что то Вы не в ту тему...
Отдельная вкладка это слишком. Тут плюс перед Edit контролом, что при загрузке содержимого скролл остаётся на месте, потому можно просто поднять до строки ( Info - Internet Explorer_Server ) и довольно спокойно пользовать. Хотел повесить на F5 переход по якорю к этой строке, то есть сделать нужную первой видимой строкой, но ничего не вышло.
Повесил на F5 и F1 переход к строке " ( Info - %Control% ) ", в остальных случаях возвращает в начало.
AhkSpy v1.063
+ Доработки кода
Сегодня 4 раза AhkSpy v1.062 вешала систему во время рассмотрения ie.
Faulting application name: AutoHotkey.exe, version: 1.1.14.3, time stamp: 0x52fd8123
Faulting module name: AutoHotkey.exe, version: 1.1.14.3, time stamp: 0x52fd8123
Exception code: 0xc0000005
Fault offset: 0x00000000000b17d0
Faulting process id: 0x1b64
Faulting application start time: 0x01cf5f5471d66698
Faulting application path: C:\Program Files\AutoHotkey\AutoHotkey.exe
Faulting module path: C:\Program Files\AutoHotkey\AutoHotkey.exe
Report Id: db588081-cb47-11e3-8e44-bc5ff48e77e7
Не везёт Вам. У меня ни разу не глючило, а его гонял.
А v1.063 как?
Возможно на некоторых пк не тянет. Попробуйте изменить "RangeTimer" на 200.
43 строка.
v1.063 еще не пробовал.
На сайте присутствовало много флеша.
www.inbox.lv
Может из-за этого.
Комп быстрый i7 3770
На сайте присутствовало много флеша.
www.inbox.lv
Может из-за этого.
Попробовал, всё норм.
Комп быстрый i7
Ну а у меня i3. Может АНК у вас х64?
Да, у меня х64
Запустил на х64, глюков нет. Так понимаю что на совместимость с х64 может влиять исключительно DllCall? Тогда из нового добавлено только это:
WBGet(hwnd) {
static msg := DllCall("RegisterWindowMessage", "str", "WM_HTML_GETOBJECT")
, IID_IHTMLWindow2 := "{332C4427-26CB-11D0-B483-00C04FD90119}"
SendMessage msg, 0, 0, , ahk_id %hwnd%
if (ErrorLevel != "FAIL")
{
lResult:=ErrorLevel, VarSetCapacity(GUID,16,0)
if DllCall("ole32\CLSIDFromString", "wstr","{332C4425-26CB-11D0-B483-00C04FD90119}", "ptr",&GUID) >= 0
{
DllCall("oleacc\ObjectFromLresult", "ptr",lResult, "ptr",&GUID, "ptr",0, "ptr*",pdoc)
Try Return ComObj(9,ComObjQuery(pdoc,IID_IHTMLWindow2,IID_IHTMLWindow2),1), ObjRelease(pdoc)
}
}
}
Хотя и в старом варианте тоже работает:
WBGet(hwnd) {
static msg := DllCall("RegisterWindowMessage", "str", "WM_HTML_GETOBJECT")
, IID := "{332C4427-26CB-11D0-B483-00C04FD90119}" ; IID_IHTMLWindow2
SendMessage, msg,,,, ahk_id %hwnd%
DllCall("oleacc\ObjectFromLresult", Ptr, ErrorLevel, Ptr, 0, Ptr, 0, PtrP, pdoc)
Try Return ComObj(9,ComObjQuery(pdoc,IID,IID),1), ObjRelease(pdoc)
}
знающие пусть проверят на совместимость.
Запускайте пока ярлыком через AutoHotkeyU32.exe, заодно поймёте в совместимости ли дело.
AhkSpy v1.064
Доработки
serzh82saratov, а как насчет добавить в твой скрипт возможность автообновления при выходе новой версии? А то при такой частоте сложно следить за всеми фиксами.
C реализацией, как понимаю, проблем у тебя не возникнет, хотя пару идей могу предложить.
А то при такой частоте сложно следить за всеми фиксами.
Да это сейчас есть время и немного идей.
Думаю пока не стоит нагружать этим скрипт. Но спасибо за предложение, подумаю.
Всё таки надеюсь на более менее финальную версию
Но для этого требуется более активное тестирование юзеров.
AhkSpy v1.070
Многое пофиксено.
Добавлены двойные хоткеи в "Button".
Добавлены соответствующие функции на: Ctrl+Z, Ctrl+A, Ctrl+X, Delete.
Обновить (вернуть страницу) на F5.
Шифт + Колесико или F1, F2 - переход по меткам, + кнопки копирования. На большом тексте очень легко осуществлять переход и копирование.
А можно сделать так чтобы Ctrl+C в окне button просто копировало текст?
А то все время путаюсь. Привык к шорткатам.
Malcev
А ведь обещали.
Да, обещал...
Просто я не знаю ни одну программу, кроме вашей, где Ctrl+C - заблокировано.
И нажатие этой комбинации у меня уже интуитивно.
AhkSpy v1.071
Переделал паузу, можно копировать кнопками.
Замучали меня иероглифы из Scintilla Notepad++
До этого ControlGetText обрезал всё подряд до 2000 символов, иначе иероглифы вешали скрипт, пока так и только в utf-8
IsScintilla ? StrGet(&ControlGetText, "utf-8") : ControlGetText)
Других решений нет.
А вот из WinText так извлечь нельзя, потому если класс окна "Notepad++" то только резать:
GetWinClass = "Notepad++" ? SubStr(VisibleWinText, 1, 5000) : VisibleWinText)
А минус в том, что на окне какого то приложения может случится фриз...
Куча иероглифов вешает наглухо.
Как универсально определять их наличие, во что перекодировать, не ясно.
Кстати AU3_Spy в Visible Window Text из Notepad++, как то отсеивает иероглифы.
Переделал паузу, можно копировать кнопками.
Непонятно, что переделано - по нажатию Ctrl+c во вкладке button ничего не копируется.
По-моему, пришла пора написать хелп файл, по всем возможностям данной утилиты.
В режиме паузы нельзя было использовать кнопки "copy" на форме. Также теперь кнопка паузы работает только в активном окне, ранее была глобальной
Во вкладке button должны отслеживатся все кнопки. Напоминание про правую кнопку есть в заголовке окна в любом режиме.
AhkSpy v1.074
Доработки.
Обводка это хорошо, но шифт зажимать все время неудобно - может вывести включение/выключение на капслок?
Добавил варианты в системное меню:
---
---
AhkSpy v1.076
+ Доработка системного меню. Спасибо teadrinker.
AhkSpy v1.079
+ Добавил хоткеи:
~!WheelUp::
F3:: WheelLeft
~!WheelDown::
F4:: WheelRight
+ Дополнения в AccInfo.
+ Плавная навигация по заголовкам.
Неплохо.
А обновление до новейшей версии AHK категорически необходимо?
Запустил из любопытства на 1.1.14.3, никаких видимых отличий не нашел.
А обновление до новейшей версии AHK категорически необходимо?
Нет, это блажь, откатил на 1.1.12.00.
+ Причесал код.
по нажатию Ctrl+c во вкладке button ничего не копируется.
+ Добавлена пауза и в режим Button.
- Перестал прикладывать файл в коллекции, всё равно нельзя скачать
+ Добавлена пауза и в режим Button.
1) Ну это не совсем удобно, ставить на паузу, нажимать контрол-цэ.
2) Ссылки на хелп стоит сделать, чтобы открывались в новом табе.
1) Ну это не совсем удобно, ставить на паузу, нажимать контрол-цэ.
Как вы хотите чтоб и Ctrl+C определило, и копировало, и выделение текста не снимало при нажатии кнопки. Помнится было довольно долгое обсуждение данного желания, и ничего конкретного с вашей стороны, по поводу - как это должно выглядеть на практике.
2) Ссылки на хелп стоит сделать, чтобы открывались в новом табе.
Это про что вообще?
Так пускай заносит выделенное в буфер обмена, а потом снимает выделение, по типу ~
Если у меня активирована какая-то вкладка в фаерфоксе, то если я нажму хелп в вашей программе, то ссылка откроется в активной вкладке, а не в новой. Что не есть хорошо (например в активной вкладке какая-нибудь флеш игра на паузе).
Так пускай заносит выделенное в буфер обмена, а потом снимает выделение, по типу ~
Ничё не понял.
какая-то вкладка в фаерфоксе,
Так надо нормальным браузером пользоватся - Опера.
Опера, стала таким же шпионом как и хром.
http://habrahabr.ru/company/opera/blog/195124/
При нажатие контрол-це во вкладке баттон посылать выделенное в клипбоард.
~^C:: msgbox вы нажали контрол це
Ссылки запускаются командой Run. Если у вас браузер настроен открывать в текущей вкладке, кто тут виноват?
При нажатие контрол-це во вкладке баттон посылать выделенное в клипбоард
Ввёл Shift+Win+D - обвёл - нажал Ctrl+C - вместо надписи Shift+Win+D вижу Ctrl+C, мне так не нравится.
Если у вас браузер настроен открывать в текущей вкладке, кто тут виноват?
Точно. Совсем забыл, что я его сам так настроил. Пардон.
Ввёл Shift+Win+D - обвёл - нажал Ctrl+C - вместо надписи Shift+Win+D вижу Ctrl+C, мне так не нравится.
Так вы же все-равно не используете данный шорткат.
Даже не так:
Ввёл Shift+Win+D - обвёл - нажал Ctrl - вижу Ctrl+ - и что теперь копировать?
Например поставить определение Ctrl на отжатие.
Нажал Ctrl+C - скопировалось Shift+Win+D. А как мне надпись Ctrl+C при её нажатии увидеть?
А почему нельзя оставить функцию у Ctrl+C посылки информации в клипбоард и показывания ее в баттоне, как в 259 сообщении. Просто вписать в скрипт, что при нажатии контрол+с выделенное идет в буфер обмена и на экране в баттоне появляется скан код Ctrl+C .
AhkSpy v1.100
+ Расширены данные Accessible.
+ Возможно подсвечивать одновременно и контролы, и аccessible, см. в меню.
+ Настройки отображения подсветки, теперь сохраняются в %A_AppData%\AhkSpy.ini.
AhkSpy v1.102
Баг фиксы.
- Перестал прикладывать файл в коллекции, всё равно нельзя скачать
Зря. У меня всегда скачивалось.
Буду выкладывать на github. И табуляции сохранятся, и скачать прямо по ссылке можно.
AhkSpy v1.112
Так намного лучше.
А если бы рядом лежал файл, скажем ahkspy.txt, содержащий всего лишь одну строку с номером актуальной версии (v1.113 и так далее по мере обновления), то было бы вообще замечтательно.
https://github.com/serzh82saratov/AhkSp … AhkSpy.ahk
serzh82saratov an hour ago v1.113
Там всё есть, и даже непосредственные изменения кода можно подсмотреть
Ссылка v1.113
В самом репозитории https://github.com/serzh82saratov/AhkSpy есть также и версия и ссылка на тему в этом форуме.
v1.114 Добавил пункт обновить, для некомпилированного скрипта.
В том-то и дело, чтобы со страницы получить версию, надо целиком ее загрузить и отпарсить страницу. А если в readmy.txt первой строкой прописать версию, то размер скачанного файла будет порядка 80 байт, и сравнение первой строки с переменной AhkSpyVersion покажет, есть ли обновление. (И предложить его пользователю).
Ну это уже на случай авто обновлений, Я пока не планирую.
Хотя почему бы и нет, помнится у тебя было предложение. Собственно каковы твои идеи - как качать файлы без остановки скрипта, и не запуская в другом скрипте.
Во-первых, скрипт перестал апдейтиться через меню: содержимое заменилось таким содержимым, т.е. скрипт стал нерабочим.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>503 backend read error</title>
</head>
<body>
<h1>Error 503 backend read error</h1>
<p>backend read error</p>
<h3>Guru Meditation:</h3>
<p>XID: 39154628</p>
<hr>
<p>Varnish cache server</p>
</body>
</html>
Вручную со страницы все копируется.
А во-вторых, мое видение автоапдейта следующее.
У тебя уже есть метка UpdateAhkSpy, так что в базе добавления минимальны:
- Переход к UpdateAhkSpy при запуске.
- Если скрипт не скомпилирован И если он не имеет аттрибут Read Only (установкой RO можно заблокировать автообновление) И время изменения файла больше некоего порога (-10 минут от текущего, к примеру), то:
- Скачать readme.txt в переменную - URLDownloadToVar() вполне для этого подойдет, чтобы не использовать ж.диск.
- Сравнить содержимое первой строки с переменной AhkSpyVersion, если в сети версия новее, то обновить.
(Я предлагаю после скачивания вместо Run... просто сделать Reload обновленного файла)
Ну и в свете того, что было "Во-первых", предлагаю немного изменить логику скачивания - не напрямую заменять скрипт через UrlDownloadToFile, https://URL_файла, %A_ScriptFullPath%, а сначала сохранить во временной папке, и заменить только при удачном скачивании. Так содержимое скрипта не испортится.
По поводу "качать файлы без остановки скрипта" не совсем понятно, в принципе ничего страшного не будет, если пользователь подождет несколько секунд, пока скачается Readme.txt, а там можно вывести диалог с информацией о новой версии и предложить обновиться. Или запустить обновление в фоне, создав временный скрипт, как это предложил teadrinker. Потом дочерний скрипт передает родителю сообщение на перезапуск и самоуничтожается. Хотя возможные и другие варианты.
содержимое заменилось таким содержимым,
Да тоже заметил.
- Скачать readme.txt в переменную - URLDownloadToVar()
Так ведь ждать закачки надо.
только при удачном скачивании.
Как лучше определить валидность кода? Вообще интересно есть в AutoHotkey какой нибудь метод валидации.
Обновил предыдущий пост.
Сначала я подумал, что для проверки валидности достаточно проверки ErrorLevel
...
UrlDownloadToFile, https://raw.githubusercontent.com/serzh82saratov/AhkSpy/master/AhkSpy.ahk, %A_ScriptFullPath%
If !ErrorLevel
...
Но потом вспомнил, что есть более надежное решение - хеш-суммы.
Если прописать в Readme.txt после version = x.xxx строку вида md5=xxxxxxxxxxxxxx,
то после скачивания достаточно вычислить хеш файла, чтобы быть практически 100% уверенным, что он не битый.
ничего страшного не будет, если пользователь подождет несколько секунд, пока скачается Readme.txt, а там можно вывести диалог с информацией о новой версии и предложить обновиться. Или запустить обновление в фоне, создав временный скрипт
Нет, способы противоречят в данном случае моей религии, у меня есть идея, может и ты что то ещё придумаешь.
Но потом вспомнил, что есть более надежное решение - хеш-суммы.
Если прописать в Readme.txt после version = x.xxx строку вида md5=xxxxxxxxxxxxxx,
то после скачивания достаточно вычислить хеш файла, чтобы быть практически 100% уверенным, что он не битый.
Тут я совсем не в теме, можешь привести все методы?
Если ни один из 2х предложенных вариантов обновления не подходит, то надо подумать... Как вариант - придет teadrinker и сделает красиво ))
Насчет хеша (или контрольной суммы), если кратко, то например тут, там же есть ссылка про алгоритм md5. В дебри реализации можно не лезть, главное знать, для чего и как его применять.
Вот пример, как происходит вычисление хеша файла, в данном случае - своего собственного. На входе - путь к файлу, на выходе - строка хеша md5. То есть ты можешь вычислить хеш новой версии, прописать его в readme.txt, и затем пользователь, скачав новую версию, сравнит строку в readme с фактическим хешем файла на диске ( в смысле, скачивающий скрипт сам это сделает автоматом). Изменение даже одного бита в исходном файле полностью изменит хеш-сумму, так что проверка валидности будет достаточно надежной.
MsgBox % FileMD5(A_ScriptFullPath)
FileMD5(sFile="", cSz=4) { ; by SKAN www.autohotkey.com/community/viewtopic.php?t=64211
cSz := (cSz<0||cSz>8) ? 2**22 : 2**(18+cSz), VarSetCapacity( Buffer,cSz,0 )
hFil := DllCall( "CreateFile", Str,sFile,UInt,0x80000000, Int,3,Int,0,Int,3,Int,0,Int,0 )
IfLess,hFil,1, Return,hFil
hMod := DllCall( "LoadLibrary", Str,"advapi32.dll" )
DllCall( "GetFileSizeEx", UInt,hFil, UInt,&Buffer ), fSz := NumGet( Buffer,0,"Int64" )
VarSetCapacity( MD5_CTX,104,0 ), DllCall( "advapi32\MD5Init", UInt,&MD5_CTX )
Loop % ( fSz//cSz + !!Mod( fSz,cSz ) )
DllCall( "ReadFile", UInt,hFil, UInt,&Buffer, UInt,cSz, UIntP,bytesRead, UInt,0 )
, DllCall( "advapi32\MD5Update", UInt,&MD5_CTX, UInt,&Buffer, UInt,bytesRead )
DllCall( "advapi32\MD5Final", UInt,&MD5_CTX )
DllCall( "CloseHandle", UInt,hFil )
Loop % StrLen( Hex:="123456789ABCDEF0" )
N := NumGet( MD5_CTX,87+A_Index,"Char"), MD5 .= SubStr(Hex,N>>4,1) . SubStr(Hex,N&15,1)
Return MD5, DllCall( "FreeLibrary", UInt,hMod )
}
Если ни один из 2х предложенных вариантов обновления не подходит, то надо подумать...
Что то наваял в новой версии. Единственный фриз появляется при создании "InternetExplorer.Application" через 1.5 сек после старта, с галочкой "Check updates". Вообщем тут надо думать дальше... Посмотри "Class Update" на 1125 строке, может будут мысли.
Насчет хеша
Что то пока не охота в дополнение ко всей возне с апдейтами, но тема интересная. Сейчас просто проверяет наличие слова, так понимаю, что если уже скачивает скрипт, то полностью.
А планируется ли программу дополнить Show Acc Structure?
Пока нет.
Ошибка выскочила:
Единственный фриз появляется при создании "InternetExplorer.Application" через 1.5 сек после старта
А чем обусловлен такой метод обновления скрипта, более простой способ не подходит?
А какой?
Ошибка выскочила:
Исправил.
v1.126
Думаю что нашёл "правильный" способ. Хотя можно и ещё правильнее https://github.com/infogulch/WinHttpRequest без таймеров, но решил не пихать код который мне совсем непонятен.
AhkSpy v1.138
+ Добавлено определение левых и правых модификаторов, в режиме Button.
AhkSpy v1.153
+ Добавлено CommandLine в режим Window.
Попутно интересен вопрос извлечения CLSID некоторых служебных окон.
AhkSpy v1.155
Добавил CLSID, но теперь не ясно как открывать окно с CLSID например такого вида:
::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{7B81BE6A-CE2B-4676-A29E-EB907A5126C5}
; Панель управления\Все элементы панели управления\Программы и компоненты
AhkSpy v1.168
+ В режим "Button" добавлена строка "Remapping keys", с комментарием.
AhkSpy v1.17
+ Добавлено - в режиме Window возможно просматривать имена стилей окна, кнопка "show styles".
Я в этом не очень хорошо разбираюсь. Не пойму как его ставить? Поиск нечего мне не выдал.
А вы первое сообщение этой темы смотрели?
А вы первое сообщение этой темы смотрели?
Может, я что-то не догоняю) Видел.
Ну и там ссылку наверное заметили "Ссылка на пост в коллекции"?
Вообще что хотите установить? Вы же написали что установили - http://forum.script-coding.com/viewtopi … 877#p84877
Ну и там ссылку наверное заметили "Ссылка на пост в коллекции"?
Видел эти ссылки...
Я не нашел как его ставить запускать..
Если запустить через автохоткей (по нему кликнуть), то вылетает ошибка.
Я в этом не очень хорошо разбираюсь.
Если запустить через автохоткей (по нему кликнуть), то вылетает ошибка.
Ну и тут наверное далее следует повествование, по кому кликаете, какой AutoHotkey, какая ошибка. Но видно не судьба, ведь для этого надо очень хорошо рабиратся в этом.
1. скачал
2. AhkSpy.ahk
3. Кликну по этому файлу.
4. Вылетает такое сообщеие