Re: AHK: Замена "Window Spy"
1. скачал
Как скачал?
Win10x64 AhkSpy, Hotkey, ClockGui
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
1. скачал
Как скачал?
1. скачал
Как скачал?
Значит браузер кривой, перейди по ссылке и скопируй код.
Значит браузер кривой, перейди по ссылке и скопируй код.
да я так сделал.
Но все равно..
Окно с ошибкой и окно с версией программы.
Перед тем, как задать вопрос, проверьте, пользуетесь ли Вы актуальной версией
http://forum.script-coding.com/viewtopic.php?id=6148
Перед тем, как задать вопрос, проверьте, пользуетесь ли Вы актуальной версией
Извиняюсь, наверное с этого и нужно было начинать. Спасибо.
serzh82saratov, не совсем понятны нововведения.
1) При запуске ahk spy и наведения курсора на десктоп рамка дергается, как припадочная.
В my computer не зайти.
2) Во вкладке Button появились зачем-то:
& vk47:: ; " & G" # Double hotkey
:: vk47 ; " >> G" # Remapping keys
Для чего - абсолютно непонятно, только мешают.
Можно как-то откатиться назад?
1) При запуске ahk spy и наведения курсора на десктоп рамка дергается, как припадочная.
В my computer не зайти.
Это непонял.
& vk47:: ; " & G" # Double hotkey
Это и раньше было, я только добавил аннотацию
# Double hotkey
Remapping keys
Пусть будет, чему оно мешает?
Ну тогда сделать так:
vk41:: ; "A"
Send {vk41} ; "A" # SendInput {vk41}
А ниже на пару строк:
vk53 & vk41:: ; "S & A" # Double hotkey
vk53:: vk41 ; "S >> A" # Remapping keys
Так как употребляются они гораздо реже.
При активной вкладке Windows и при активном десктопе, помимо красной оконтовки появляется синяя и начинает мелькать. И невозможно с десктопа запустить никакой файл. Видно блокируется двойное нажатие кнопки мыши.
При активной вкладке Windows и при активном десктопе, помимо красной оконтовки появляется синяя и начинает мелькать.
У меня такого не наблюдается, но сейчас действительно стали работать оба режима сразу, то есть инфо собирается для обеих режимов.
Видно блокируется двойное нажатие кнопки мыши.
Потому теперь двойной клик не работает и Windows режиме.
При активной вкладке mouse эта синяя оконтовка мелькает почти везде.
Что-то там не так.
Так она ведь подсвечивает АСС объекты.
Так а почему она мелькает (пропадает-изчезает). Правда не везде. Но на десктопе мелькает.
Незнаю, у меня такого никогда небыло.
ОС? Аеро?
Немного откатил.
Win64bit Простая тема без аэро. Мелькание заметно при Adjust for best perfomance в Perfomance option.
Мелькание заметно при Adjust for best perfomance в Perfomance option.
Можно по русски?
Win64bit
Скорее более важно ХР 7 8.
Win7 64bit.
Чтобы настроить все визуальные эффекты для максимальной производительности, выполните следующие действия.
Откройте раздел «Счетчики и средства производительности». Для этого нажмите кнопку Пуск и выберите компонент Панель управления. В поле поиска введите Счетчики и средства производительности, а затем в списке результатов выберите пункт Счетчики и средства производительности.
Щелкните ссылку Настройка визуальных эффектов. Требуется разрешение администратора. Если отображается запрос на ввод пароля администратора или его подтверждения, укажите пароль или предоставьте подтверждение.
Перейдите на вкладку Визуальные эффекты, выберите вариант Обеспечить наилучшее быстродействие и нажмите кнопку ОК.
Конечно для современных машин - это все побоку.
Но меня раздражают все эти фефектики и поэтому я их отключаю.
Попробовал, проблем нет.
Но меня раздражают все эти фефектики и поэтому я их отключаю.
Дело вкуса, меня например бесит убогость интерфейса, без АЕРО не могу, включаю даже на нетбуке.
На 2 компьютерах мигает синяя окантовка.
Какая часть кода за нее отвечает?
422 строка
If (!isIE && ThisMode = "Mouse" && (StateLight = 1 || (StateLight = 3 && GetKeyState("Shift", "P"))))
{
ShowMarker(WinX2+CtrlX, WinY2+CtrlY, CtrlW, CtrlH)
StateLightAcc ? ShowAccMarker(AccCoord[1], AccCoord[2], AccCoord[3], AccCoord[4]) : 0
}
1123 строка сама ShowAccMarker.
ShowAccMarker(x, y, w, h, b:=2) {
ShowMarker := 1
Try Gui, AcM: Show, NA x%x% y%y% w%w% h%h%
Catch
Return HideAccMarker()
WinSet, Region, % "0-0 " w "-0 " w "-" h " 0-" h " 0-0 " b "-" b
. " " w-b "-" b " " w-b "-" h-b " " b "-" h-b " " b "-" b, ahk_id %hMarkerAccGui%
}
46 строка
RangeTimer := 100 ; Период опроса данных, увеличьте на слабом ПК
Скажи если например 250, то мигает?
Если ставлю 1000, то мигает раз в секунду.
Если 1, то постоянно.
Можно какое-нибудь меню копирования сделать во вкладке Button после определения vk клавиши? А то не удобно вручную переписывать
А это чем не устраивает?
RButton - Копирует выделенный текст и удаляет пробельные символы по краям, и символы разделителя параметров. Если текст не выделен, то вызывает меню текстовой зоны.
Хочется как в текстовом редакторе - выделил скопировал. Иногда разделительные символы тоже нужны.
А запускать копирование наверное хочется силой мысли?
К этому привыкнуть еще можно, а вот к припадочной синей рамке - увы.
Странникх, у вас дергается?
Нет, не дергается.
Насчет копирования, то можно просто не брать сочетание клавиш ^C в окно по Button, чтобы был обычный буфер.
Насчет копирования, то можно просто не брать сочетание клавиш ^C в окно по Button, чтобы был обычный буфер.
Я уже давно это предлагал.
https://www.youtube.com/watch?v=qvHeJi1 … e=youtu.be
Нет, не дергается.
Ну вот Я же говорю что это только у тебя почему то.
Я уже давно это предлагал.
^C определять тоже необходимо, копируем правой кнопкой, надо по ^C, тогда ставим на паузу.
Так все же почему у меня такая проблема?
В чем разница между красной и синей оконтовкой?
Даже незнаю, вроде никакой разницы.
А история версий имеется?
А с кнопками стало совсем неудобно.
Лучше бы так:
A
vk41:: ; "A"
{vk41}
Send {vk41} ; "A"
ControlSend, ahk_parent, {vk41}, ; "A"
История на GitHub, а с кнопками Я сделал так как самому удобно.
И зачем всю строку выделять для {vk41}, когда его всегда можно скопировать рядом с Send.
Скопировать-то можно, но для этого надо прицеливаться-выделять, а не просто 2 раза тыкнуть.
И еще было бы неплохо отключить авто-апдейт.
Апдейт выключается в меню.
О, а я совсем про меню запамятовал.
Хорошая штука показывать оконтовку при нажатии шифт.
Спасибо!
Хочется как в текстовом редакторе - выделил скопировал.
Раз уже не так очевидно что правая кнопка копирует, и то что ^C тоже должно перехватыватся в "button", то добавил на форму кнопку "copy selected".
Добавил в AccInfo для Role и State их десятичные коды, для независимости от языка системы. Суть.
Добавил в меню выбор режима при старте.
Есть предложение - посредством {Tab} при неактивном окне шпиона переключаться по его выборам режима.
Смысл? И за чем переключать в "кнопки".
В кнопки не надо.
Для того, чтобы удобно было узнавать и Windws Title и ClassNN.
Либо сдублировать Title в Mouse % Control.
Можно нажать Shift+Tab, и посмотреть.
Shift+Tab - Извлекает данные для Win и Mouse режимов, активирует окно скрипта.
Лишние движения. Например, если у нас активна вкладка Button, то с помощью {tab} было бы удобней переключаться.
А еще можно было бы добавить поиск по Ctrl+f. Для более удобного парсинга страниц.
Давно хотел это сделать, руки не доходят.
Попробуй сам, а я добавлю.
Не знаю как.
Лучше дождусь твоего варианта.
Как нибудь, но это довольно нетривиальная задача.
Добавил в кнопки такую строку:
SendInput {Ctrl Down}{Alt Down}{Shift Down}{Win Down}{vk58}{Ctrl Up}{Alt Up}{Shift Up}{Win Up} ; "Ctrl+Alt+Shift+Win+X"
В GetKeyName добавлена кнопка "paste".
В Window добавлены пара кнопок для удобного копирования сразу трёх параметров заголовка через пробел, и пути к процессу.
Добавил в кнопки определение, если нажатие клавиш клавиатуры нефизическое.
+ При выделении текста двойным кликом, пробелы с права отбиваются.
+ Style и ExStyle можно ввести свои, и сразу проверить через show styles.
+ В CommandLine можно ввести свою строку для запуска.
+ В меню добавлено - Spot together. Данные собираются для окна и мыши постоянно. Иначе только при нажатии Shift+Tab или Pause.
+ Перед первым Return в код добавлено
#Include *i %A_ScriptDir%\AhkSpyInclude.ahk
Если в папке с AhkSpy есть файл "AccViewer Source.ahk", то рядом с заголовком "AccInfo" будет кнопка его запуска.
Была жалоба на мигание рамки подсветки. Кое что подправил. Незнаю, помогло или нет.
Мигает так же.
Это только на рабочем столе без аеро, или как?
Где появляется синяя поверх красной - там и дрожит.
Доступ к https://github.com закрыт? У меня ДомРу, у кого как.
Страна: рашка.
"Невозможно подключиться к удалённому серверу" - Ростелеком.
Что-то серьезное намудрили, ибо даже через турбо-кнопку Оперы такой же результат. А ведь с помощью нее без проблем открывает запрещенные роскомнадзором сайты (торрент-обменники, онлайн казино, etc).
Хотя через https://www.hidemyass.com/proxy заходит без проблем.
Мда, последняя проблема в стране депутатами решена -http://siliconrus.com/2014/12/github/.
ибо даже через турбо-кнопку Оперы
Тоже первое что пришло в голову .
Хотя через https://www.hidemyass.com/proxy заходит без проблем.
Да, но вот отредактировать код через такой путь, неполучается увы.
В учётку захожу, но кнопка "Commit changes" не активна (Opera, IE).
У меня вообще-то сейчас нормально работает.
Ну а браузер, провайдер, страна?
FF, Beeline, Россия. Вчера действительно сайт с трудом грузился, сейчас хорошо.
А на IE грузится?
И на IE тоже грузится. Вот здесь об этом говорят.
Через мобильный Beeline, тоже не заходит.
Github заработал, добавил обновление.
На win 8.1 64 bit не работает "Извлечение данных элементов Internet Explorer_Server."
IWB2 Learner работает.
Плохо, 8 у меня нет для экспериментов, и есть мнение что win8 - зло.
Так что при всём желании, поправки внести не могу. Возможно кто то другой накопает.
Нет желания дополнить скрипт линейкой, чтобы измерять расстояние между контролами и визуально проверять, что они находятся на одинаковой высоте?
Есть же координаты контролов. Для расстояния между контролами сделаны x2 & y2.
Ну это надо каждый раз высчитывать, а я имею в виду - при зажатии левой кнопки мыши рисуется прямоугольник и высвечиваются его размеры в окошке (аналог инструмента "прямоугольная область" в фотошопе).
Вот, кстати, готовый код, осталось его вставить в AhkSpy.
http://www.autohotkey.com/board/topic/8 … on-screen/
Код, не проблема, просто фича слишком "узко-специлизирована", не вижу смысла её добавлять в данный скрипт.
измерять расстояние между контролами и визуально проверять, что они находятся на одинаковой высоте?
И какова повседневная острая необходимость данного?
Ну, например, при создании Gui, с различными шрифтами, которые, если равнять математически визуально будут невыравнеными.
Непонимаю, позиции как минимум верхних границ контролов задаёшь сам, а чтобы сравнять нижние с другими, то нужны цифры, линейка, это ведь на глазок.
Ты используешь относительное позиционирование, при написании Gui?
Еще пока не использую, но собираюсь.
Например, мне единицу хочется сдвинуть левее, так как на глаз мне кажется, что она находится правее чем kkk:
Gui, Add, Text,, 1`nkkk
Gui, Add, Edit, vName
Gui, Show
Gui, Add, Text, xm-5, 1
Gui, Add, Text, xm y+0, kkk
Gui, Add, Edit, vName
Gui, Show
Или:
Gui, Add, Text, x5, 1
Gui, Add, Text, xp+5 y+0, kkk
Gui, Add, Edit, vName
Gui, Show
Ну да. Так вот эти значения я и хотел бы измерять линейкой.
С разными шрифтами:
Gui, Font, s42
Gui, Add, Text, Border Section x111 y111, Text
Gui, Font, s12
Gui, Add, Text, Border Center +0x200 x+2 wp hp, Text
Gui, Font, s12
Gui, Add, Text, Border Center +0x200 y+2 xs+0 wp hp, Text
Gui, Font, s22
Gui, Add, Text, Border Center +0x200 x+2 wp hp, Text
Gui, Show
Return
вот эти значения я и хотел бы измерять линейкой
Какие значения?
Gui, Add, Text, xm-5, 1
Gui, Add, Text, xm y+0, kkk
Gui, Add, Edit, vName
Gui, Show
То, что сдвигаем на 5 пикселей.
Всё равно не ясно, что именно измерять?
Расстояние на которое я хочу сдвинуть текст.
5 же пикселей ты на глаз взял, либо через разность позиций курсора мышки, правильно?
Я же предлагаю внести линейку, чтобы можно было замерить эти величины и потом проверить выравнен ли текст вертикально.
Ну для этого можно просто захватить любое окно, и приложить его край. А подгонять всё равно будешь путём добавки пикселей и перезапуска.
Да, есть-же экранные лупы с наложенной попиксельной сеткой, думаю это намного лучше и точнее предложенной линейки.
Ну для этого можно просто захватить любое окно, и приложить его край. А подгонять всё равно будешь путём добавки пикселей и перезапуска.
Вот так пока и делаю.
Да, есть-же экранные лупы с наложенной попиксельной сеткой, думаю это намного лучше и точнее предложенной линейки.
Добавишь?
Давно хочу добавить лупу в отдельную вкладку, поэтому возможно когда нибудь. Ну а пока советую пользоватся лупой, хотя бы с определением координат, например - picpick.
И все-же я бы вставил в следующую версию этот код, так как он очень удобен для изготовления сайтов, gui и т.д.
; Should work with all current AHK versions/builds
#NoEnv
SetBatchLines, -1 ; For speed in general
SetWinDelay, -1 ; For speed of WinMove
BW := 1 ; Border width (and height) in pixels
BC := "Red" ; Border color
; ______________________________________________________________________________________________________________________
FirstCall := True
CoordMode, Mouse, Screen
Gui, -Caption +ToolWindow +LastFound +AlwaysOnTop
Gui, Color, %BC%
Return
; ______________________________________________________________________________________________________________________
Esc::
ExitApp
; ______________________________________________________________________________________________________________________
+LButton::
MouseGetPos, OriginX, OriginY
SetTimer, DrawRectangle, 10
Return
; ______________________________________________________________________________________________________________________
+LButton Up::
SetTimer, DrawRectangle, Off
FirstCall := True
Gui, Cancel
ToolTip
; MsgBox, 0, Coordinates, X = %X1% - Y = %Y1% - W = %W1% - H = %H1%
Return
; ______________________________________________________________________________________________________________________
DrawRectangle:
MouseGetPos, X2, Y2
; Has the mouse moved?
If (XO = X2) And (YO = Y2)
Return
Gui, +LastFound
XO := X2, YO := Y2
; Allow dragging to the left of the click point.
If (X2 < OriginX)
X1 := X2, X2 := OriginX
Else
X1 := OriginX
; Allow dragging above the click point.
If (Y2 < OriginY)
Y1 := Y2, Y2 := OriginY
Else
Y1 := OriginY
; Draw the rectangle
W1 := X2 - X1, H1 := Y2 - Y1
W2 := W1 - BW, H2 := H1 - BW
WinSet, Region, 0-0 %W1%-0 %W1%-%H1% 0-%H1% 0-0 %BW%-%BW% %W2%-%BW% %W2%-%H2% %BW%-%H2% %BW%-%BW%
If (FirstCall) {
Gui, Show, NA x%X1% y%Y1% w%W1% h%H1%
FirstCall := False
}
WinMove, , , X1, Y1, W1, H1
ToolTip, Width: %W1%`nHeight: %H1%
Return
Извини, я в этом смысла не вижу. Если тебе оно удобнее в составе AhkSpy, а не отдельным скриптом, то пропиши код в AhkSpyInclude. У меня у самого в нём некоторые хоткеи нужные только мне.
Некоторые свои опции можно прописать в файл AhkSpyInclude.ahk (в папке с AhkSpy).
serzh82saratov, подскажи пожалуйста: почему у меня этот скрипт выдаёт пустое окно и "занято" (т.е. "песочные часы"). Win XP SP2, AutoHotkey_L v1.1.19.03 (Unicode 32-bit).
Там сказано про HTML интерфейс, у меня никогда не используемый IE6 - с этим связано?
Верно, надо обновить IE до 8-9.
AhkSpy.ahk загружен?
С ним у меня иногда перестают вообще кнопки нажиматься.
Есть подозрение что залипает хук, так как слишком много действий по каждому нажатию. Потестируй этот.
Решение взято здесь.
Верно, надо обновить IE до 8-9.
IE9 не работает на Windows XP
Соболезную.
off: Неделя, это очень мало.