Re: AHK: Замена "Window Spy"
О, спасибо. А я их и незаметил.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Ой, второе не то случайно получилось, имел в виду это.
Так я с его натуры и писал картину
Ну так а в чём проблема? Код определяет vk и sc. Добавить определение названия клавиши не составляет труда, тем более, что для этого в AHK теперь есть встроенная функция.
UPD: а, забыл, там ведь и определение клавиш есть.
104 2013-08-06 02:33:38 (изменено: serzh82saratov, 2014-04-19 16:33:41)
Re: AHK: Замена "Window Spy"
Ой, второе не то случайно получилось, имел в виду это.
А почему бы для этого не воспользоватся встроенной функцией?:
Gui, +AlwaysOnTop
Gui, Add, Edit, x0 y0 w200 h100 ReadOnly hwndhEdit
Gui, Show, w200 h100 NA
Loop {
Input, char, L1 V
Control, EditPaste, % Char,, ahk_id %hEdit%
}
Ну так а в чём проблема? Код определяет vk и sc. Добавить определение названия клавиши не составляет труда, тем более, что для этого в AHK теперь есть встроенная функция.
Так в этом проблемы нет. Проблема то в другом...
Кстати хотел спросить, зачем у тебя в "Определение виртуальных и скан-кодов клавиатуры" используется DllCall("GetKeyNameText", он ведь для большинства кнопок выдаёт имена неиспользуемые в АНК.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
А почему бы для этого не воспользоватся встроенной функцией?
Да, действительно так проще (только в твоём коде метка ShowChar: лишняя). Видимо, зациклился тогда на клавиатурном хуке. И Input — это не функция, а команда.
Проблема то в другом...
Там же она отсутствует, вроде? Никаких "залипаний" нету.
зачем у тебя в "Определение виртуальных и скан-кодов клавиатуры" используется DllCall("GetKeyNameText", он ведь для большинства кнопок выдаёт имена неиспользуемые в АНК.
Когда этот код писался, ещё не было встроенных функций GetKeyName(Key), GetKeyVK(Key), GetKeySC(Key).
Re: AHK: Замена "Window Spy"
И Input — это не функция, а команда.
Суть та же, только написание чуть другое, и в выражения не впихнёш.
только в твоём коде метка ShowChar: лишняя
Там же она отсутствует, вроде?
Где? Кто?
Никаких "залипаний" нету.
Вот я и говорю, нигде залипаний нет, а в моём коде случаются залипания и остаётся хук при деактивации окна, почему так?
Повторюсь что в таком варианте глюков незамечено.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
а в моём коде случаются залипания и остаётся хук при деактивации окна, почему так?
Да не знаю я! В большом коде разобраться сложно, а если он ещё и написан нелогично, тогда и вовсе не хочется.
Re: AHK: Замена "Window Spy"
В большом коде разобраться сложно
Большом коде!? Да там менее 100 строк.
если он ещё и написан нелогично, тогда и вовсе не хочется.
Так вы объясните в чём отсутствие логики? Как записывать хоткеи для джойстика не в счёт.
Задача чертовски проста, приведите пример правильного кода, раз в моём тяжело копатся.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Такой подход мне нравится больше. Конкретизируй задачу. «Нужен пример кода, который делает ...»
110 2013-08-06 19:26:29 (изменено: serzh82saratov, 2013-08-06 19:28:05)
Re: AHK: Замена "Window Spy"
Так ну господи, оно же всё как на ладони. При нажатии кнопок создать аналог поведения как у гуи контрола hotkey, только для всех кнопок. Там основная заморочка с Ctrl, Altl, Shiftl, Win.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Давай для простоты представим, что я не знаю, что такое «гуи контрол hotkey» и не совсем понимаю, что означает «аналог поведения». Представим, что ты заказчик, и тебе нужно дать программисту точное Т. З., не допускающее двойной трактовки. Если ты этого сделать не в состоянии, тогда наше дальнейшее общение на эту тему бесполезно.
Re: AHK: Замена "Window Spy"
Ладно проехали, точное Т. З это на полстраницы
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
AhkSpy v1.80
+ Добавил поддержку версий AutoHotkey болеее ранних чем 1.1.11.00 т.к. они выдавали ошибку из за нового параметра Gui -DPIScale.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
serzh82saratov, лучше бы была поддержка 64-битной версии.
Re: AHK: Замена "Window Spy"
Так основной билд в каком месте не поддерживает?
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Сейчас проверил, всё работает, раньше, вроде, кнопки не определял.
Re: AHK: Замена "Window Spy"
Ты брал тестовый вариант из этого сообщения.
Там SetWindowsHookEx, кстати вроде же он у тебя поддерживает х64, или я не тот вариант скопировал?
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Тот вариант, что в Коллекции, поддерживает.
Re: AHK: Замена "Window Spy"
Искал способ определять по какой иконке в панели задач происходит клик, и нашёл способ ввиде функции GetTextUnderMouse. Пункт GetTextUnderMouse добавлен в режим Mouse & Control. Также определяет пункты в меню и списках, ссылки в IE и.т.п..
Исправлены обнаруженные мелкие ошибки.
П.С.
Кстати кто нибудь знает простой способ определения клика по иконке (кнопке) скрипта АНК в панели задач (!не в трее!).
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Кстати кто нибудь знает простой способ определения клика по иконке (кнопке) скрипта АНК в панели задач (!не в трее!)
Простого вроде не существует, вот несколько кривой (работает на семёрке):
Gui, +hwndhGui
Gui, Show, w300 h300
return
#If TaskBarMousePos(WinExist("ahk_class Shell_TrayWnd"))
~LButton::
WinGet, MinMaxPrev, MinMax, ahk_id %hGui%
WinGet, IDActivePrev, ID, A
return
~LButton Up::
Sleep, 100 ; пауза, поскольку статус окна меняется не сразу, как узнать точное время, не знаю
WinGet, MinMax, MinMax, ahk_id %hGui%
WinGet, IDActive, ID, A
if ((MinMax != MinMaxPrev) || (IDActive = hGui && IDActivePrev != hGui))
SoundBeep
return
TaskBarMousePos(TaskBarID)
{
MouseGetPos,,, ID
if (ID = TaskBarID)
Return 1
}
Re: AHK: Замена "Window Spy"
teadrinker
Спасибо, познавательно. Так понимаю что принимая в расчёт Sleep, 100 уместнее использовать GetTextUnderMouse?
SoundBeep случается и при активации окна скрипта путём деактивации другого окна кликом по его иконке в панели задач
Win10x64 AhkSpy, Hotkey, ClockGui
122 2013-10-05 02:25:21 (изменено: serzh82saratov, 2013-10-05 02:27:18)
Re: AHK: Замена "Window Spy"
Простого вроде не существует
Думал что есть OnMessage, по аналогии со значком в трее.
OnMessage(0x404,"WindowProc")
return
WindowProc(wParam,lParam,Msg,hwnd) {
if (lParam=0x201)
SoundBeep
}
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Так понимаю что принимая в расчёт Sleep, 100 уместнее использовать GetTextUnderMouse?
Не совсем понял, что за GetTextUnderMouse?
SoundBeep случается и при активации окна скрипта путём деактивации другого окна кликом по его иконке в панели задач
Точно, тогда без координат кнопки не обойтись, это несколько сложнее, но выполнимо, попозже напишу.
Думал что есть OnMessage, по аналогии со значком в трее.
Нет, кнопка на панели задач не принадлежит процессу скрипта.
124 2013-10-05 02:42:56 (изменено: serzh82saratov, 2013-10-05 02:43:53)
Re: AHK: Замена "Window Spy"
Не совсем понял, что за GetTextUnderMouse?
Тут конечно будет учитыватся что мышь над панелью задач.
Loop
ToolTip % SubStr(GetTextUnderMouse(), 1, 100)
GetTextUnderMouse( x="", y="")
{
Static h
If Not h
h:=DllCall("LoadLibrary","Str","oleacc","Ptr")
If DllCall("oleacc\AccessibleObjectFromPoint"
, "Int64", x==""||y==""?0*DllCall("GetCursorPos","Int64*",pt)+pt:x&0xFFFFFFFF|y<<32
, "Ptr*", pacc, "Ptr", VarSetCapacity(varChild,8+2*A_PtrSize,0)*0+&varChild)=0
Acc:=ComObjEnwrap(9,pacc,1), child:=NumGet(varChild,8,"UInt")
try value := Acc.accValue(child)
if Not value
try value := Acc.accName(child)
return value
}
Ну и весь расчёт на то что такого же заголовка не будет у другой кнопки на панели задач
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Также через Accessible можно получить и координаты объекта. Но, действительно, ориентироваться можно только на заголовок, так что способ тоже не идеальный.
126 2013-10-05 03:38:30 (изменено: serzh82saratov, 2013-10-08 15:10:36)
Re: AHK: Замена "Window Spy"
По старой недоброй традиции, после неосторожных нововведений обнаружен косяк.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Сделал такой вариант, думаю заменять ли им основной билд.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Приятней стало, но шрифт размыт.
Re: AHK: Замена "Window Spy"
У вас наверное ХР? Приложите скрин. Попробуйте изменить переменную "fontfamily". Также вид может отличатся от того какой IE 9 или 10 установлен в ОС, но не факт.
Win10x64 AhkSpy, Hotkey, ClockGui
130 2013-10-11 14:09:21 (изменено: Malcev, 2013-10-11 14:10:13)
Re: AHK: Замена "Window Spy"
Win7.
Так даже в вашем принтскрине шрифт размыт.
http://savepic.net/3919505.htm
Re: AHK: Замена "Window Spy"
Думаю что оптимальны: FontSize := "15" и fontfamily := "Arial"
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
В XP во многих случаях используется Tahoma, довольно удобный, привычный шрифт.
По оформлению - хотелось бы убрать красный, заменить на синий.
Re: AHK: Замена "Window Spy"
В XP во многих случаях используется Tahoma, довольно удобный, привычный шрифт.
Добавлю вторым, на случай если Arial отсутствует:
, fontfamily := "Arial,Tahoma"
По оформлению - хотелось бы убрать красный, заменить на синий.
Тут дело вкуса:
, Colordelimiter := "E14B30"
, ColordP := "E14B30"
На основе Internet Explorer Server не видел решений других участников форума, собственно вопрос в универсальности и подводных камнях использования данного контрола.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Перебрал весь код в новой версии отображения.
Онлайн переводчик RUS/ENG пока удалён.
Тестируем.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Показывает ошибку.
http://savepic.net/3919575.htm
Re: AHK: Замена "Window Spy"
DPIScale [v1.1.11+]:
Можно, наверно, проверку версии сделать и сообщать юзеру какая минимально требуется.
Re: AHK: Замена "Window Spy"
Можно, наверно, проверку версии сделать и сообщать юзеру какая минимально требуется.
Добавил в AhkSpy v1.02.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
1) При активном режиме Button, никуда кнопки, кроме как в Button не посылаются.
2) Раздражает размытость шрифта
Re: AHK: Замена "Window Spy"
1) При активном режиме Button, никуда кнопки, кроме как в Button не посылаются.
Я полностью переделал функцию кнопок. И при тестировании не заметил ни одного глюка. При неактивном окне у тебя всё равно происходит перехват? Всегда, или непредсказуемо?
2) Раздражает размытость шрифта
Для меня нормально, у тебя так же:
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
И при неактивном и при свернутом всегда идет перехват.
AHK 64.
У меня так:
http://savepic.net/3881704.htm
Re: AHK: Замена "Window Spy"
И при неактивном и при свернутом всегда идет перехват.
AHK 64.
Проверил на х64, проблем нет.
У меня так:
Недостаток упрощённого стиля, включи аеро.
Win10x64 AhkSpy, Hotkey, ClockGui
142 2013-10-15 14:02:19 (изменено: Malcev, 2013-10-15 14:05:45)
Re: AHK: Замена "Window Spy"
Имхо недостаток скрипта.
Аэро только грузит систему.
Проверил первую версию AhkSpy - там с кнопками все в порядке.
Re: AHK: Замена "Window Spy"
Имхо недостаток скрипта.
Проверил на классическом и упрощённом стилях, смазывания нет.
Ощущение что все проблемы на твоём ПК. Думаю что чей то следующий отзыв должен это подтвердить.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
А сейчас стало нормально - странно.
Re: AHK: Замена "Window Spy"
Menu, Tray, Icon, Shell32.dll, 278
вызывает ошибку
Error: Can't load icon.
Specifically: Shell32.dll
но значок окна на изображении можно получить указав индексы 222 или 238 (WinXP SP3).
Символы, на изображении выглядящие как вертикальная черта заменяются пустыми квадратиками.
Re: AHK: Замена "Window Spy"
Menu, Tray, Icon, Shell32.dll, 278
вызывает ошибку
Сделал так:
Menu, Tray, Icon, Shell32.dll, % A_OSVersion = "WIN_7" ? 278 : 222
AhkSpy v1.04
----------------------------
Символы, на изображении выглядящие как вертикальная черта заменяются пустыми квадратиками.
Тут не знаю, я думал что набор ASC символов во всех виндах одинаков.
Попробуйте здесь:
, Dp := " <span id=""Dp"">" Chr(0x2759) "</span> " ; Символ разделителя параметров - Chr(0x2759)
заменить 0x2759 на другое.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Тут не знаю, я думал что набор ASC символов во всех виндах одинаков.
Если вы имеете в виду ASCII, то это коды от 0 до 0x7F. А где вы вообще нашли 0x2759? В таблице символов я его не вижу ни в Arial, ни в Tahoma. Хотя отображается нормально.
Re: AHK: Замена "Window Spy"
А где вы вообще нашли 0x2759?
В виндовом Char Map`e. А вот шрифт какой, не помню... Но скорее всего не Arial и Tahoma, а что только в них выбирать можно?
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Ну, по идее шрифт не обязан иметь символ для каждого кода на свете. А раз символа нет, то и не отобразится ничего с этим кодом при этом шрифте. Поэтому мне и странно всё это. Символа вроде бы в Arial нет, но его видно.
150 2013-10-20 19:18:09 (изменено: serzh82saratov, 2013-10-20 19:40:28)
Re: AHK: Замена "Window Spy"
Угу. В таблице символов в разных шрифтах разные символы могут иметь один код... Как понять что у кого должно в итоге отображаться...
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
В общем, в интернете я его нашёл — это medium vertical bar и его поддерживает шрифт Arial Unicode MS. Почему же его нет в таблице? Странно.
Один код у разных — это, наверно, в ANSI. А Юникод же на то и юни-, что универсальный. Что-то сомнительно. Там у каждого языка свой диапазон кодов, у разных небуквенных символов тоже. По идее не должно быть разночтений. Другое дело ANSI, где куча языков юзает одни и те же верхние 128 кодов.
Пример можете привести таких разных символов с одним кодом?
152 2013-10-20 19:57:25 (изменено: serzh82saratov, 2013-10-20 19:58:54)
Re: AHK: Замена "Window Spy"
Например в Webdings 0x67 (квадрат), а отображается буква "g"
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Это один из нестандартных шрифтов.
Re: AHK: Замена "Window Spy"
Это один из нестандартных шрифтов.
Видимо те совпадения что я замечал, были из них.
Там указано 3 шрифта - Symbol, Wingdings и Webdings. Более таких нет в таблице символов?
Win10x64 AhkSpy, Hotkey, ClockGui
155 2013-10-20 21:05:29 (изменено: YMP, 2013-10-20 21:06:46)
Re: AHK: Замена "Window Spy"
Re: AHK: Замена "Window Spy"
Видимо при выборе символа надо смотреть чтобы поле:
Найти Юникод:
поддерживало поиск.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Например 0x263c в WinXP SP3 выводит "солнышко"?
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
В SP2 выводит.
Re: AHK: Замена "Window Spy"
Заменил символ разделителя параметров на 0x2666 (ромб).
AhkSpy v1.041
Win10x64 AhkSpy, Hotkey, ClockGui
160 2013-10-21 11:57:28 (изменено: serzh82saratov, 2013-10-21 12:14:19)
Re: AHK: Замена "Window Spy"
В общем, в интернете я его нашёл — это medium vertical bar и его поддерживает шрифт Arial Unicode MS. Почему же его нет в таблице? Странно.
Вспомнил, шрифт "MS Gothic". В нём очень много прикольных символов, практически полный диапазон - от 0021 до FFEE.
ап:
Видимо есть ещё виндовсы, в которых неполный набор Unicode.
ап:
Зачем я тогда:
Заменил символ разделителя параметров на 0x2666 (ромб).
у этих товарищей его всё равно не будет...
ап:
Надо поменять на 0x25ae оно ближе к 0x25aa.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
В XP SP2 ромб отображается, а вот 0x25ae — пустой квадрат.
Re: AHK: Замена "Window Spy"
В общем, в интернете я его нашёл — это medium vertical bar и его поддерживает шрифт Arial Unicode MS. Почему же его нет в таблице? Странно.
В XP SP2 ромб отображается, а вот 0x25ae — пустой квадрат.
У меня 0x25ae есть в таблице Arial Unicode MS...
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
А у меня нигде нет шрифта Arial Unicode MS, везде просто Arial. Ни в XP, ни в 7, ни в 8.1.
Re: AHK: Замена "Window Spy"
Странно это.
---
У меня - Windows 7 Профессиональная Service Pack 1
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Может, профессиональность сказывается. У меня все обычные.
Re: AHK: Замена "Window Spy"
Значит тема про универсальность символов Unicode закрыта. Если у кого то, что то не отображается, то пускай подбирает себе сам.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Универсальность их не в том, что в каждом шрифте есть символы для всех кодов Юникода. Этого я как раз не утверждал. Даже прямо это отрицал.
Re: AHK: Замена "Window Spy"
Да и я не про это. Вот в Verdana нет черепа, а он отображается.
Gui, Font, s55, Verdana
Gui, Add, Text,, % Chr(0x2620)
Gui, Show
Return
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Да, бардак какой-то. Зато вот тут череп вполне легально есть:
Gui, Font, s55, Wingdings
Gui, Add, Text,, % Chr(0x55) . Chr(0x4e) . Chr(0x55)
Gui, Show
Return
GuiClose:
ExitApp
170 2013-10-21 18:58:52 (изменено: serzh82saratov, 2013-10-21 18:59:05)
Re: AHK: Замена "Window Spy"
Мда... И так тоже черепа с крестами:
Gui, Font, s55, Wingdings
Gui, Add, Text,, UNU
Gui, Show
Return
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Так понимаю что символ Юникода берётся из общей таблицы которая есть в ОС, и у некоторых она неполная. Шрифт отвечает только за стиль отображения если он (символ) есть в этом шрифте, либо стиль будет от дефолтного шрифта.
Если шрифт нестандартный, то его надо указать. И опять же нет гарантии что он будет на другом ПК. Также как нет уверености в полноте таблицы юникода на другом ПК.
Win10x64 AhkSpy, Hotkey, ClockGui
172 2013-10-21 19:29:00 (изменено: YMP, 2013-10-21 19:30:58)
Re: AHK: Замена "Window Spy"
Нет, символ из файла шрифта должен браться. Возможно, дело в том, что программа Таблица символов не всё отображает, что есть в шрифте. А почему — неизвестно.
Кстати, у вас в подписи ошибка: надо professional.
Re: AHK: Замена "Window Spy"
Кстати, у вас в подписи ошибка: надо professional.
Поправил.
Вообщем ничего не ясно с этими шрифтами..
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Вот в Verdana нет черепа, а он отображается.
Возможно, дело в том, что программа Таблица символов не всё отображает, что есть в шрифте.
Скорее всего, дело в другом. Припоминаю, что читал, что если в шрифте нет символа, он может браться из ближайшего похожего шрифта. Как определяется эта похожесть, сказать не берусь.
175 2013-10-21 20:13:57 (изменено: serzh82saratov, 2013-10-21 20:15:00)
Re: AHK: Замена "Window Spy"
Нет, символ из файла шрифта должен браться. Возможно, дело в том, что программа Таблица символов не всё отображает, что есть в шрифте.
Тогда объясните почему:
Arial Unicode MS обычный весит 22 мб, а LCDMono2 обычный 26 кб.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
wisgest
Мне тоже уже в голову приходила мысль, что, может, из другого берётся.
YMP пишет:Нет, символ из файла шрифта должен браться. Возможно, дело в том, что программа Таблица символов не всё отображает, что есть в шрифте.
Тогда объясните почему:
Arial Unicode MS обычный весит 22 мб, а LCDMono2 обычный 26 кб.
А какая связь с тем, что вы процитировали? Что-то не догоняю.
Вот тут, кстати, целая коллекция этих прикольных символов: Miscellaneous Symbols. Хотя там у меня в браузере не все видны, но в Gui отображаются.
Gui, Font, s55, Verdana
Gui, Add, Text,, % Chr(0x2626) Chr(0x2620) Chr(0x2626)
Gui, Add, Text,, % Chr(0x262d) Chr(0x2620) Chr(0x262d)
Gui, Add, Text,, % Chr(0x2670) Chr(0x2620) Chr(0x2670)
Gui, Add, Text,, % Chr(0x26a1) Chr(0x2620) Chr(0x26a1)
Gui, Add, Text,, % Chr(0x269b) Chr(0x2620) Chr(0x269b)
Gui, Show
Return
GuiClose:
ExitApp
177 2013-10-21 21:14:11 (изменено: serzh82saratov, 2013-10-21 21:15:22)
Re: AHK: Замена "Window Spy"
но в Gui отображаются.
У меня не отображаются - 0x2670 0x26a1 0x269b
А какая связь с тем, что вы процитировали? Что-то не догоняю.
Таблица в LCDMono2 отображает знаков 80 соответственно и 26 кб говорят что больше там символов нет. Но указав его, отобразить можно и те символы которых в нём нет:
Gui, Font, s55, LCDMono2
Gui, Add, Text,, 1234567890
Gui, Add, Text,, ABCDEF
Gui, Add, Text,, АБВГД
Gui, Add, Text,, % Chr(0x2626) Chr(0x2620) Chr(0x2626)
Gui, Add, Text,, % Chr(0x262d) Chr(0x2620) Chr(0x262d)
Gui, Show
Return
Нет, символ из файла шрифта должен браться.
То бишь это не так. Если символа нет в указанном шрифте, он берётся из файла другого шрифта.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Таблица в LCDMono2 отображает знаков 80 соответственно и 26 кб говорят что больше там символов нет. Но указав его, отобразить можно и те символы которых в нём нет:
У меня такого шрифта вообще нет в Таблице. Вот если шрифта заказанного нет, то подбирается другой — это факт. А чтобы отдельные символы с миру по нитке собирались, про это я не слышал.
YMP пишет:Нет, символ из файла шрифта должен браться.
То бишь это не так. Если символа нет в указанном шрифте, он берётся из файла другого шрифта.
А файл другого шрифта — это не файл шрифта, что ли? Вы уже забыли, похоже, о чём там речь шла. Вы же говорили, что символы берутся из некой единой таблицы, а из шрифта только особенности рисунка. На это я и возразил.
179 2013-10-21 21:40:31 (изменено: serzh82saratov, 2013-10-21 21:42:19)
Re: AHK: Замена "Window Spy"
Нет, символ из файла шрифта должен браться. Возможно, дело в том, что программа Таблица символов не всё отображает, что есть в шрифте.
Я про то что таблица отображает все символы указанного шрифта.
Вы же говорили, что символы берутся из некой единой таблицы, а из шрифта только особенности рисунка. На это я и возразил.
Ну так и есть. Посмотрите другие стандартные шрифты. Например "1" единица, имеет одинаковый индекс в разных шрифтах. Соответсвенно и отображатся она будет стилем указанного шрифта, если она есть в нём. Индекс символа от шрифта независит, что говорит о едином наборе доступных для отображения символов, для всех стандартных шрифтов.
А чтобы отдельные символы с миру по нитке собирались, про это я не слышал
А я про это и не говорил.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Ну так и есть. Посмотрите другие стандартные шрифты. Например "1" единица, имеет одинаковый индекс в разных шрифтах. Соответсвенно и отображатся она будет стилем указанного шрифта, если она есть в нём. Индекс символа от шрифта независит, что говорит о едином наборе доступных для отображения символов, для всех стандартных шрифтов.
Стандартность шрифта не в том, что в нём стандартный набор символов, а в том, что в нём стандартное соответствие кодов с символами.
Re: AHK: Замена "Window Spy"
Стандартность шрифта не в том, что в нём стандартный набор символов, а в том, что в нём стандартное соответствие кодов с символами.
И я про тоже
Видимо мы с вами утомились в беседе, и говорим об одном разными словами.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
У меня не отображаются - 0x2670 0x26a1 0x269b
Да, от винды к винде разница есть. Вот этот код весь диапазон отображает в W8.1, а в XP SP2 ни одного символа.
Loop, 0x100
{
Str .= Chr(0x25FF + A_Index)
If !Mod(A_Index, 16)
Str .= "`n"
}
Gui, Font, s20, Verdana
Gui, Add, Text,, % Str
Gui, Show
Return
GuiClose:
ExitApp
Re: AHK: Замена "Window Spy"
У меня только первые 112 отображаются. Из них 21, 22, 25, 26 отсутствуют.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Нет времени перечитывать всю тему. Ограничился 1 страницей.
Из Window Spy я использовал только координаты курсора и цвет пикселя под курсором.
Поэтому я сделал себе дополнение в свой основной скрипт(Автозагрузка)
MButton::
i=1
loop
{
if(i=1)
{
MouseGetPos, xpos, ypos
PixelGetColor, Color, %xpos%, %ypos% ;
ToolTip, X=%xpos% Y=%ypos%`nЦвет %Color%
sleep, 100
}
else
{
ToolTip
Break
}
}
return
MButton up::
i=0
return
Описание:
При нажатии и удерживании колёсика мыши, появляется ToolTip с координатами курсора и цветом пикселя под ним.
При изменении положения курсора, данные в ToolTip меняются на новые.
При отпускании колёсика мыши, ToolTip пропадает и скрипт готов принять следующую команду горячей клавишей.
На мой взгляд очень удобно, что в любой момент можно посмотреть координаты и цвет, не запуская Window Spy
Re: AHK: Замена "Window Spy"
YMP
У меня только первые 112 отображаются. Из них 21, 22, 25, 26 отсутствуют.
Вообщем гарантии отображения многих символов, нет, даже в зависимости от версии ОС.
------
А существует ли возможность создания функции, для вывода символа из набора байт?
MsgBox % MyChr(1)
MyChr(Index)
{
Chr1 =
(Join LTrim
5553575689E583EC0C8B5D148B4D1831C083F9020F8CCE0000008D344B89D983
7D1C00740E0FBAEE0066C701322083C102EB09C7010200000083C104894DF489
DFC745FC01000000FC83C70439F70F87850000008B0785C078EFFF45FC89F829
D8D1E8400FBAE600732F505357568B7DF4BB0A00000031C989E64EC606204131
D2F7F380C2304E88164185C075F1F3A4897DF45E5F5B58EB0B8B4DF4890183C1
04894DF489C1F7E0729F3B4518779A48D1E001D8BAFFFFFFFF891089C789C8C1
E00201C739F777048917EBF6D1E883E8028D3C03E970FFFFFF8B45FC0FBAE600
73068B55F4C6020089EC5E5F5B5DC20C00
)
Chr2 =
(Join LTrim
0C8B5D148B4D1831C083F9020F8CCE0000008D344B89D9830F878500000080F8
7D1C00740E0FBAEE0066C701322083C102EB09C7010200000083C104894DF489
DFC745FC01000000FC83C70439F70F87850000008B0785C078EFFF45FC89F829
E00201C739F777048917EBF6D1E883E8028D3C03E970FFFFFF8B45FC0FBAE600
DFC745FC01000000FC83C70439F70F87850000008B0785C078EFFF45FC89F829
E00201C739F777048917EBF6D1E883E
)
Chr := Chr%Index%
;****************;
Return Chr
}
И возможно ли выдернуть такой список байт из файла нужного шрифта?
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Не знаю, я подобным не занимался. Если знаете, как интерпретировать этот набор, т.е. превратить в координаты точек, то можно, наверно, потом эти точки нарисовать и получить букву.
Re: AHK: Замена "Window Spy"
т.е. превратить в координаты точек, то можно, наверно, потом эти точки нарисовать и получить букву.
Предположим имеем координаты, а как точки рисовать?
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Есть для этого функции какие-то в GDI. BitBlt, например, — не оно?
Re: AHK: Замена "Window Spy"
Просто нарисовать может и оно, но символ же должен являтся частью текста, а не просто нарисован сверху.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Всё, что вы видите в окне, там нарисовано. Так что не понял вашего возражения.
Re: AHK: Замена "Window Spy"
Нарисовали в Edit символ, далее пролистываем текст или редактируем, символ то останется на месте.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
А что, текст только в Edit бывает? Больше никак не используется? Если у вас изначально в мыслях был Edit, при чём тогда вообще координаты? К чему ваш вопрос про них был? Делайте тогда свой шрифт или Edit свой пишите.
Re: AHK: Замена "Window Spy"
Функция Chr возвращает символ, вопрос может ли своя функция вернуть символ, которого нет в таблице ОС на ПК, так чтобы он отображался обычным образом в тексте АНК. Понимаю что скорее всего это из области фантастики.
-----
Заменил Chr(0x25aa) на такой же квадратик но из таблицы спецсимволов html ▪
Он у всех отображается?
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Что вы понимаете под "возвращает символ"? Символы рисуются функциями API и берутся или генерятся ими из файла шрифта. АНК оперирует только кодами символов.
Re: AHK: Замена "Window Spy"
Значит вопрос был из области фантастики.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
Chr просто указывает, что число нужно трактовать как код символа.
Квадратик в XP SP2 отображается нормально.
197 2014-01-19 03:29:32 (изменено: serzh82saratov, 2014-01-19 03:38:07)
Re: AHK: Замена "Window Spy"
+ Добавил определение контрола в фокусе (Focus control)
+ Добавил определение позиции мыши относительно контрола (Mouse relative control)
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
+ Добавил кнопку "view to folder" рядом с ProcessPath в режиме Window.
Показывает файл процесса в папке.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
+ В режим Hotkey добавлена функция GetKeyName. Слева вводим vk**sc** код, жмём зелёную, справа видим имя клавиши.
Win10x64 AhkSpy, Hotkey, ClockGui
Re: AHK: Замена "Window Spy"
AhkSpy v1.046
+ Пофиксил нововведения.
Win10x64 AhkSpy, Hotkey, ClockGui