851

Re: AHK: Замена "Window Spy"

Возможно ли получить Accinfo не с под указателя мышки а с ClasNN??

852 (изменено: serzh82saratov, 2017-12-04 09:56:47)

Re: AHK: Замена "Window Spy"

Сделал новый вид, пока только для режима Window. Отпишитесь по тестам. Перенос слов, изменение размера шрифта, горизонтальная прокрутка - названия заголовков и кнопки в линии с ними,  должны оставатся на месте относительно окна.

https://raw.githubusercontent.com/serzh … y_Test.ahk

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.26.01 (Unicode 32-bit).

853 (изменено: serzh82saratov, 2017-12-04 11:34:46)

Re: AHK: Замена "Window Spy"

Ещё вроде шрифт как то хуже стал выглядеть.


http://images.vfl.ru/ii/1512372762/dc74224d/19679650.png

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.26.01 (Unicode 32-bit).

854

Re: AHK: Замена "Window Spy"

По шрифтам изменений не заметил, но дергающаяся красная линия отвлекает.

855

Re: AHK: Замена "Window Spy"

А как дергается? У меня норм. Или ты про надписи заголовков.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.26.01 (Unicode 32-bit).

856

Re: AHK: Замена "Window Spy"

Надписи тоже иногда подергиваются.
Но больше отвлекает, что красная линия при горизонтальной прокрутке тоже движется вместе с текстом.

857

Re: AHK: Замена "Window Spy"

Malcev пишет:

Надписи тоже иногда подергиваются.

После обновления IE у меня не наблюдается.

Malcev пишет:

красная линия при горизонтальной прокрутке тоже движется вместе с текстом

Так она и в текущей версии также движется вместе с текстом.
Сделаю опционально чтобы заголовки с кнопками не двигались при прокрутке, а только при растягивании окна.
Ещё думаю про опцию, чтобы поля в которых возможны большие объёмы обрезались, см. Window Text.
https://raw.githubusercontent.com/serzh … hkSpy1.ahk

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.26.01 (Unicode 32-bit).

858

Re: AHK: Замена "Window Spy"

Есть кто проверить, с ХР или 10...

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.26.01 (Unicode 32-bit).

859

Re: AHK: Замена "Window Spy"

А fixed ты не захотел из-за невозможности запуска без обновленного IE?
Заметил такую особенность:
1) Активируем какое-нибудь окно.
2) Активируем AhkSpy и сдвигаем горизонтальный ползунок вправо.
3) Активируем какое-нибудь окно.
В результате красные линии обрезаются.

860

Re: AHK: Замена "Window Spy"

Malcev пишет:

В результате красные линии обрезаются.

Это фиаско... Как я мог не заметить.

Malcev пишет:

А fixed ты не захотел из-за невозможности запуска без обновленного IE?

Это показалось лучше, по MButton норм, ну и так по мелочи. И да, обновление  сильнее сгладило "шероховатости", но всё равно с fixed осталось больше косяков. Вообщем тут на примерах надо.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.26.01 (Unicode 32-bit).

861 (изменено: stealzy, 2017-12-04 16:56:46)

Re: AHK: Замена "Window Spy"

+ offtop

Сорри за ламерский вопрос, но какие новые возможности дает IE, которые трудно или нельзя достичь стандартными контролами?
Если допустим пункты сделать вкладками, а содержимое Edit-ами. И редактирование-изменение некоторых свойств можно прикрутить.

862

Re: AHK: Замена "Window Spy"

Windows XP SP3. Internet Explorer 6.0.2900.5512.

Post's attachments

Безымянный.PNG
Безымянный.PNG 10.45 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

863

Re: AHK: Замена "Window Spy"

Нужен 8 ие.

stealzy
В Edit большое содержимое тупит.
А какие свойства?

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.26.01 (Unicode 32-bit).

864

Re: AHK: Замена "Window Spy"

Malcev пишет:

В результате красные линии обрезаются.

Хотя можно ведь перед вставкой HTML делать scrollLeft := 0, думаю это выглядит нормально и логично.
https://raw.githubusercontent.com/serzh … hkSpy1.ahk
stealzy
А какие такие стили нельзя поменять в HTML?

Не получится на анк даже близко добится такой статичной картинки при обновлении инфой или размера окна, нет кучи фишек, разноцветный текст, кнопки прямо в тексте, на HTML верстать намного легче, практически всё из коробки. На анк как минимум надо написать всё позиционирование, это куча кода, и будет всё мелькать как ни старайся. Плюс HTML и javascript это ещё один поток.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.26.01 (Unicode 32-bit).

865

Re: AHK: Замена "Window Spy"

serzh82saratov пишет:

Хотя можно ведь перед вставкой HTML делать scrollLeft := 0, думаю это выглядит нормально и логично.

Да. Логично.
На Вин10 вроде всё ок.

866 (изменено: serzh82saratov, 2017-12-05 07:15:42)

Re: AHK: Замена "Window Spy"

Поиск по странице поломался, надо будет не забыть поправить.

Кстати почему то через объект в АНК не работает например querySelector - неизвестное имя. Хотя через javascript работает, с чего бы так?
И работа через объект идентична javascript, или javascript может быть более низкоуровневым или просто производительнее?

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.26.01 (Unicode 32-bit).

867

Re: AHK: Замена "Window Spy"

Странно, должен работать.
Попробуй на каком-нибудь простом примере.

868

Re: AHK: Замена "Window Spy"

#SingleInstance Force
#NoEnv

Gui, Add, ActiveX, w222 h222 voDoc, HTMLFile
Gui, Show 

html =
(
<span class='title'>Title Text</span>
<script type="text/javascript">
alert(document.querySelector(".title").innerText);
</script>
)
oDoc.Write("<!DOCTYPE html><head><meta http-equiv=""X-UA-Compatible"" content=""IE=8""></head>" html)
oDoc.Close()

MsgBox % oDoc.querySelector(".title").innerText
return 

FixIE() {
	Static Key := "Software\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION", _ := FixIE()
	If A_IsCompiled
		ExeName := A_ScriptName
	Else
		SplitPath, A_AhkPath, ExeName
	RegRead, Value, HKCU, %Key%, %ExeName%
	If Value != 8000
		RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, 8000
}

Escape::
GuiEscape:
GuiClose: 
	ExitApp 
По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.26.01 (Unicode 32-bit).

869 (изменено: Malcev, 2017-12-05 16:58:10)

Re: AHK: Замена "Window Spy"

Наверное глюк HTMLFile.
Так как querySelector поддерживается, начиная с 8 версии, то через js он работает.
А через HTMLFile работает только почему-то начиная с 9-ой.

870

Re: AHK: Замена "Window Spy"

Мда, ну хоть костыль можно соорудить.

#SingleInstance Force
#NoEnv

Gui, Add, ActiveX, w222 h222 voDoc, HTMLFile
Gui, Show 

html =
(
<span class='title'>Title Text</span>
<script type="text/javascript">
	function querySelector (Selector) {
		return document.querySelector(Selector);
	}
</script>
)
oDoc.Write("<!DOCTYPE html><head><meta http-equiv=""X-UA-Compatible"" content=""IE=8""></head>" html)
oDoc.Close()
oJScript := oDoc.Script

MsgBox % oJScript.querySelector(".title").innerText
return 

FixIE() {
	Static Key := "Software\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION", _ := FixIE()
	If A_IsCompiled
		ExeName := A_ScriptName
	Else
		SplitPath, A_AhkPath, ExeName
	RegRead, Value, HKCU, %Key%, %ExeName%
	If Value != 8000
		RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, 8000
}

Escape::
GuiEscape:
GuiClose: 
	ExitApp 
По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.26.01 (Unicode 32-bit).

871 (изменено: serzh82saratov, 2017-12-08 11:29:33)

Re: AHK: Замена "Window Spy"

У всех нормально крест выглядит? Хочу добавить в сабж.


#SingleInstance Force
#NoEnv
CoordMode, Mouse
Global hMarkerCross

Gui, Cr: Margin, 0, 0
Gui, Cr: -DPIScale +AlwaysOnTop +HWNDhMarkerCross +E0x08000000 +E0x20 -Caption +Owner +0x40000000 -0x80000000
Gui, Cr: Color, E14B30
	
Loop 
{
	MouseGetPos, MXS, MYS
	ShowMarkerCross(MXS - 25, MYS - 25)
	Sleep 10
}
Return

ShowMarkerCross(x, y, s := 51, a := 3, b := 5) {
	Static IsStart
	If !IsStart && (IsStart := 1) { 
		Gui, Cr: Add, Progress, % "x" (p := (s - a) / 2) " y" p " w" a " h" a " Background000000"
		WinSet, TransColor, 000000 150, ahk_id %hMarkerCross%
		DllCall("SetClassLong", "Ptr", hMarkerCross, "int", -26
		, "int", DllCall("GetClassLong", "Ptr", hMarkerCross, "int", -26) | 0x20000)
	}
	sp := (s - b) / 2  
	WinSet, Region, %  0 "-" sp 
				. " " sp "-" sp
				. " " sp "-" 0
				. " " sp+b "-" 0
				. " " sp+b "-" sp
				. " " s "-" sp
				. " " s "-" sp+b
				. " " sp+b "-" sp+b
				. " " sp+b "-" s
				. " " sp "-" s
				. " " sp "-" sp+b
				. " " 0 "-" sp+b
					, ahk_id %hMarkerCross%
	Gui, Cr: Show, NA x%x% y%y% w%s% h%s%
	Gui, Cr: +AlwaysOnTop
}
По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.26.01 (Unicode 32-bit).

872

Re: AHK: Замена "Window Spy"

Не великоват? Можно системным курсором воспользоваться:

Gui, Margin, 30, 30
Gui, Add, Text, vField +0x6 w31 h31 Border gCrossCursor
GuiControlGet, Field, Pos
Gui, Add, Text, % "+0x7 w3 x" FieldX + Floor(FieldW/2) - 1 " yp+4 hp-8 gCrossCursor"
Gui, Add, Text, +0x7 xp+1 yp hp w1 gCrossCursor
Gui, Add, Text, % "+0x7 w" FieldW - 8 " y" FieldY + Floor(FieldW/2) - 1 " x" FieldX + 4 " h3 gCrossCursor"
Gui, Add, Text, +0x7 xp yp+1 h1 wp gCrossCursor
Gui, Add, Text, % "x" FieldX + 40 " y" FieldY + FieldH//2 - 6, Перетащите крестик
Gui, Show
Return
   
CrossCursor:
   Loop 4
      GuiControl, Hide, % "Static" A_Index + 1
   CrossCursor()
   Hotkey, ~LButton Up, Label, On
   Return
   
Label:
   Hotkey, LButton Up, Off
   CrossCursor(0)
   Loop 4
      GuiControl, Show, % "Static" A_Index + 1
   Return
   
GuiClose:
GuiEscape:
   ExitApp
   
CrossCursor(OnOff=1)
{
   static IDC_CROSS := 32515, SPI_SETCURSORS := 0x57
        , hCursor := DllCall("LoadCursor", Ptr, 0, UInt, IDC_CROSS, Ptr)
        , sys_cursors := [32512,32513,32514,32516,32642,32643,32644,32645,32646,32648,32649,32650]
   
   if !OnOff
      DllCall("SystemParametersInfo", UInt, SPI_SETCURSORS, UInt, 0, UInt, 0, UInt, 0)
   else
      for k, cursor in sys_cursors
         hCopy := DllCall("CopyImage", Ptr, hCursor, UInt, 2, Int, 0, Int, 0, UInt, 0)
         , DllCall("SetSystemCursor", Ptr, hCopy, UInt, cursor)
}

Он и цвет меняет на контрастный к тому, который под ним.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

873

Re: AHK: Замена "Window Spy"

teadrinker пишет:

Не великоват?

Вроде в самый раз.
Я хочу для слежения в координатах сделать, и чтоб оставался в этой точке, плюс чтобы в центре отверстие было чтобы определять цвет пикселя и для наглядности. Контраст может и не помешает, но не критично, ещё тень добавил в пример.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.26.01 (Unicode 32-bit).

874 (изменено: serzh82saratov, 2017-12-08 16:19:52)

Re: AHK: Замена "Window Spy"

TransColor оказалось что может мелькать, поэтому лучше без него.
Интересно можно как то сделать инверсию цвета полупрозрачного окна относительно того что под ним.


#SingleInstance Force
#NoEnv
CoordMode, Mouse
Global hMarkerCross

Gui, Cr: Margin, 0, 0
Gui, Cr: -DPIScale +AlwaysOnTop +HWNDhMarkerCross +E0x08000000 +E0x20 -Caption +Owner +0x40000000 -0x80000000
Gui, Cr: Color, FFFFFF

Loop 
{
	MouseGetPos, MXS, MYS 
	ShowMarkerCross(MXS - 25, MYS - 25)
	Sleep 10
}
Return
ShowMarkerCross(x, y, s := 51, a := 5, b := 3) {
	Static IsStart
	If !IsStart && (IsStart := 1) { 
		WinSet, TransParent, 150, ahk_id %hMarkerCross%
		DllCall("SetClassLong", "Ptr", hMarkerCross, "int", -26
		, "int", DllCall("GetClassLong", "Ptr", hMarkerCross, "int", -26) | 0x20000)
	sp := (s - b) / 2
	WinSet, Region, %  ""
				. " " sp+b "-" sp
				. " " sp "-" sp
				. " " sp "-" 0
				. " " sp+b "-" 0
				. " " sp+b "-" sp
				
				. " " sp+b "-" sp
				. " " sp+b "-" sp+b
				. " " s "-" sp+b
				. " " s "-" sp
				. " " sp+b "-" sp
				
				. " " sp+b "-" sp+b
				. " " sp+b "-" s
				. " " sp "-" s
				. " " sp "-" sp+b
				. " " sp+b "-" sp+b
				
				. " " sp "-" sp+b
				. " " sp "-" sp
				. " " 0 "-" sp
				. " " 0 "-" sp+b
				. " " sp+b "-" sp+b 				
				, ahk_id %hMarkerCross%
	}
	Gui, Cr: Show, NA x%x% y%y% w%s% h%s%
	Gui, Cr: +AlwaysOnTop
}

+ или так


#SingleInstance Force
#NoEnv
CoordMode, Mouse
Global hMarkerCross

Gui, Cr: Margin, 0, 0
Gui, Cr: -DPIScale +AlwaysOnTop +HWNDhMarkerCross +E0x08000000 +E0x20 -Caption +Owner +0x40000000 -0x80000000
Gui, Cr: Color, FFFFFF

Loop
{
	MouseGetPos, MXS, MYS 
	ShowMarkerCross(MXS - 20, MYS - 20)
	Sleep 10
}
Return

ShowMarkerCross(x, y, s := 41, b := 3) {
	Static IsStart
	If !IsStart && (IsStart := 1) { 
		WinSet, TransParent, 150, ahk_id %hMarkerCross%
		; DllCall("SetClassLong", "Ptr", hMarkerCross, "int", -26
		; , "int", DllCall("GetClassLong", "Ptr", hMarkerCross, "int", -26) | 0x20000)
		sp := (s - b) / 2
		Gui, Cr: Add, Progress, % "x" 0 " y" 0 " w" sp+1 " h" sp+1 " Background000000"
		Gui, Cr: Add, Progress, % "x" 0 " y" sp+b-1 " wp hp Background000000"
		Gui, Cr: Add, Progress, % "x" sp+b-1 " y" 0 " wp hp Background000000" 
		Gui, Cr: Add, Progress, % "x" sp+b-1 " y" sp+b-1 " wp hp Background000000" 
		WinSet, Region, % ""
		. " " sp+b "-" sp	;  Up
		. " " sp "-" sp
		. " " sp "-" 0
		. " " sp+b "-" 0
		. " " sp+b "-" sp
		
		. " " sp+b "-" sp  ;  Right
		. " " sp+b "-" sp+b
		. " " s "-" sp+b
		. " " s "-" sp
		. " " sp+b "-" sp
		
		. " " sp+b "-" sp+b  ;  Down
		. " " sp+b "-" s
		. " " sp "-" s
		. " " sp "-" sp+b
		. " " sp+b "-" sp+b
		
		. " " sp "-" sp+b  ;  Left
		. " " sp "-" sp
		. " " 0 "-" sp
		. " " 0 "-" sp+b
		. " " sp+b "-" sp+b 				
		, ahk_id %hMarkerCross%
	}
	Gui, Cr: Show, NA x%x% y%y% w%s% h%s%
	Gui, Cr: +AlwaysOnTop
}

Думаю использоватся это чаще всего будет как то так, либо глядя на координаты.


http://images.vfl.ru/ii/1512723732/cf589bb6/19730415.png

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.26.01 (Unicode 32-bit).

875 (изменено: serzh82saratov, 2017-12-11 08:48:58)

Re: AHK: Замена "Window Spy"

А HTMLFile можно визуализировать?

#SingleInstance Force
#NoEnv

oDoc := ComObjCreate("HTMLFile")

Gui, Show 
html =
(
<span class='title'>Title Text</span>
<script type="text/javascript">
alert(document.querySelector(".title").innerText);
</script>
)
oDoc.Write("<!DOCTYPE html><head><meta http-equiv=""X-UA-Compatible"" content=""IE=9""></head>" html)
oDoc.Close()

MsgBox % oDoc.querySelector(".title").innerText
msgbox % oDoc.documentMode
return 


Escape:: 
	ExitApp 

Вроде тут что то похожее.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.26.01 (Unicode 32-bit).