<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Копирование адресной строки браузера и дальнейшая работа с ней]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=10851&amp;type=atom" />
	<updated>2018-05-05T10:44:53Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=10851</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование адресной строки браузера и дальнейшая работа с ней]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=125103#p125103" />
			<content type="html"><![CDATA[<p>В общем с #If существуют ограничения, так что код из 31 поста, наверное, единственный способ.<br /><a href="https://autohotkey.com/boards/viewtopic.php?f=5&amp;t=48444">https://autohotkey.com/boards/viewtopic … mp;t=48444</a></p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2018-05-05T10:44:53Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=125103#p125103</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование адресной строки браузера и дальнейшая работа с ней]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=125035#p125035" />
			<content type="html"><![CDATA[<p>Там если и ответят, то только на вопрос почему acc не работает с директивой.<br />Так попробуйте:<br /></p><div class="codebox"><pre><code>LButton::
if test()
   tooltip 11111111111111
else
{
   Click Down
   Keywait, LButton
   Click Up
}

test()
{
   Critical
   MouseGetPos, , , WinId, ControlNN
   WinGet, Process, ProcessName, ahk_id %WinId%
   if (Process = &quot;chrome.exe&quot;)
      Control := &quot;&quot;, name := &quot;Address and search bar&quot;
   else if (Process = &quot;firefox.exe&quot;)
      Control := &quot;&quot;, name := &quot;Search or enter address&quot;
   else
      return 0
   if (ControlNN != Control)
      return 0
   if (Acc_c(child).accName(child) = name)
      return 1
}

Acc_c(ByRef _idChild_ = &quot;&quot;, x = &quot;&quot;, y = &quot;&quot;)
{
	Static	h
	If Not	h
		h:=DllCall(&quot;LoadLibrary&quot;,&quot;Str&quot;,&quot;oleacc&quot;,&quot;Ptr&quot;)
	If	DllCall(&quot;oleacc\AccessibleObjectFromPoint&quot;, &quot;Int64&quot;, x==&quot;&quot;||y==&quot;&quot;?0*DllCall(&quot;GetCursorPos&quot;,&quot;Int64*&quot;,pt)+pt:x&amp;0xFFFFFFFF|y&lt;&lt;32, &quot;Ptr*&quot;, pacc, &quot;Ptr&quot;, VarSetCapacity(varChild,8+2*A_PtrSize,0)*0+&amp;varChild)=0
	Return	ComObjEnwrap(9,pacc,1), _idChild_:=NumGet(varChild,8,&quot;UInt&quot;)
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2018-05-01T05:37:16Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=125035#p125035</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование адресной строки браузера и дальнейшая работа с ней]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=125033#p125033" />
			<content type="html"><![CDATA[<p>Не понял, как там все это работает. Наверное, подожду, спасибо.</p>]]></content>
			<author>
				<name><![CDATA[DD]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=25263</uri>
			</author>
			<updated>2018-04-30T20:01:49Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=125033#p125033</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование адресной строки браузера и дальнейшая работа с ней]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=125032#p125032" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>DD пишет:</cite><blockquote><p>первый работает с директивой и без</p></blockquote></div><p>С директивой работает неправильно.<br />Вам остаётся объединить 26 код с 27, но не использовать директиву а проверять куда был совершен клик после нажатия левой кнопки мыши.<br />Ну или ждать, что ответят на оффоруме.<br />Я написал там об&nbsp; этом.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2018-04-30T19:37:22Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=125032#p125032</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование адресной строки браузера и дальнейшая работа с ней]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=125031#p125031" />
			<content type="html"><![CDATA[<p>То же самое — первый работает с директивой и без, а второй — никак. А что если считывание текста из строки адреса сочетать с проверкой формы курсора? Или если возможно — наличием полосы прокрутки справа, тогда без настроек это работало бы во всех браузерах?</p>]]></content>
			<author>
				<name><![CDATA[DD]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=25263</uri>
			</author>
			<updated>2018-04-30T18:52:37Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=125031#p125031</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование адресной строки браузера и дальнейшая работа с ней]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=125024#p125024" />
			<content type="html"><![CDATA[<p>У меня почему-то при директиве #If AccessibleObjectFromPoint выдает неверный результат.<br />Попробуйте навести мышку на адрессную строку и понажимать f10, f11.<br /></p><div class="codebox"><pre><code>#If !test()
f10:: return 
#If
return

f11::test()
return

test()
{
tooltip % Acc_c(child).accName(child)
}

Acc_c(ByRef _idChild_ = &quot;&quot;, x = &quot;&quot;, y = &quot;&quot;)
{
	Static	h
	If Not	h
		h:=DllCall(&quot;LoadLibrary&quot;,&quot;Str&quot;,&quot;oleacc&quot;,&quot;Ptr&quot;)
	If	DllCall(&quot;oleacc\AccessibleObjectFromPoint&quot;, &quot;Int64&quot;, x==&quot;&quot;||y==&quot;&quot;?0*DllCall(&quot;GetCursorPos&quot;,&quot;Int64*&quot;,pt)+pt:x&amp;0xFFFFFFFF|y&lt;&lt;32, &quot;Ptr*&quot;, pacc, &quot;Ptr&quot;, VarSetCapacity(varChild,8+2*A_PtrSize,0)*0+&amp;varChild)=0
	Return	ComObjEnwrap(9,pacc,1), _idChild_:=NumGet(varChild,8,&quot;UInt&quot;)
}</code></pre></div><p>А так вообще ошибку выдаёт:<br /></p><div class="quotebox"><blockquote><p>Error 0x8001010D - An outgoing call cannot be made since the application dispatching an input-synchronous call</p></blockquote></div><div class="codebox"><pre><code>#If !test()
f10:: return 
#If
return


test()
{
hwndChrome := WinExist(&quot;ahk_class Chrome_WidgetWin_1&quot;)
AccChrome := Acc_ObjectFromWindow(hwndChrome)
AccAddressBar := GetElementByName(AccChrome, &quot;Address and search bar&quot;)
}

GetElementByName(AccObj, name) {
   if (AccObj.accName(0) = name)
      return AccObj
   
   for k, v in Acc_Children(AccObj)
      if IsObject(obj := GetElementByName(v, name))
         return obj
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2018-04-30T15:46:56Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=125024#p125024</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование адресной строки браузера и дальнейшая работа с ней]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=125019#p125019" />
			<content type="html"><![CDATA[<p>Точно, название есть — в первый раз смотрел встроенным AU3_Spy.exe)). Но тут еще контрол используется, которого в Хроме нет и закомментирование результатов не даёт:<br /></p><div class="codebox"><pre><code>
#If IsHomeKey()
LButton:: tooltip 11111111111111
#If

IsHomeKey() { 
    MouseGetPos, , , WinId, ControlNN 
    if !InStr( ControlNN, &quot;ToolbarWindow&quot;)
        return 0
    WinGet, Process, ProcessName, ahk_id %WinId%
    if Process != chrome.exe 
        return 0
    return GetTextUnderMouse() = &quot;Адресная строка и строка поиска&quot; ? 1 : 0
} 

GetTextUnderMouse()  {
    Static h
    If !h
        h := DllCall(&quot;LoadLibrary&quot;,&quot;Str&quot;,&quot;oleacc&quot;,&quot;Ptr&quot;)
    If DllCall(&quot;oleacc\AccessibleObjectFromPoint&quot;
                , &quot;Int64&quot;, DllCall(&quot;GetCursorPos&quot;,&quot;Int64*&quot;,pt)+pt
                , &quot;Ptr*&quot;, pacc, &quot;Ptr&quot;, VarSetCapacity(varChild,8+2*A_PtrSize,0)*0+&amp;varChild)=0
    Acc:=ComObjEnwrap(9,pacc,1), child:=NumGet(varChild,8,&quot;UInt&quot;)
    try value := Acc.accValue(child)
    if value =
        try value := Acc.accName(child) 
    return value
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[DD]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=25263</uri>
			</author>
			<updated>2018-04-30T12:49:39Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=125019#p125019</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование адресной строки браузера и дальнейшая работа с ней]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=125018#p125018" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>DD пишет:</cite><blockquote><p>Скрипты по ссылке вроде на контролы и текст реагируют, тогда как в адресной строке не за что зацепиться (в частности, в Хроме).</p></blockquote></div><p>У меня в хроме&nbsp; в адресной строке ahkspy показывает acc name - Address and search bar.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2018-04-30T12:33:54Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=125018#p125018</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование адресной строки браузера и дальнейшая работа с ней]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=125017#p125017" />
			<content type="html"><![CDATA[<p>Вроде ничё так получилось)). Единственно не смог понять, как регулировать верхнюю границу — чтобы немного спустить? У меня она едва достигает адресной строки —<br /></p><div class="codebox"><pre><code>
CoordMode, Mouse
#If WinActive (&quot;ahk_exe chrome.exe&quot;) &amp;&amp; (Area := WhatArea()) &amp;&amp; (A_Cursor = &quot;IBeam&quot;)
~LButton:: 
    If Area = 4
        tooltip 111111111111111111
    Else If Area = 5
        tooltip 22222222222222
    Return
#If
   
WhatArea()  {
    Static R := [[0.0,0.5,0.05,1]
                , [0.0,0.05,0.05,0.5]
                , [0.0,0.0,0.05,0.05]
                , [0.05,0.0,0.5,0.05]
                , [0.5,0.0,1,0.05]]
    MouseGetPos, X, Y
    X := X / A_ScreenWidth, Y := Y / A_ScreenHeight
    For K, V in R
        If (X &gt;= V[1] &amp;&amp; X &lt;= V[3] &amp;&amp; Y &gt;= V[2] &amp;&amp; Y &lt;= V[4])
            Return K
} 
</code></pre></div><p>На случай клика ниже адресной строки — можно добавить условие для контрола основного окна браузера. В скрипте различается правая и левая половины адресной строки — то есть, можно проводить в два раза больше действий)).</p>]]></content>
			<author>
				<name><![CDATA[DD]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=25263</uri>
			</author>
			<updated>2018-04-30T11:28:35Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=125017#p125017</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование адресной строки браузера и дальнейшая работа с ней]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=125016#p125016" />
			<content type="html"><![CDATA[<p>Будет ли юзабельным отслеживать изменение курсора на определенной высоте окна, в пределах панели инструментов браузера? Как раз в адресной строке он принимает форму, готовую к выделению текста?</p>]]></content>
			<author>
				<name><![CDATA[DD]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=25263</uri>
			</author>
			<updated>2018-04-30T11:20:58Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=125016#p125016</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование адресной строки браузера и дальнейшая работа с ней]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=125015#p125015" />
			<content type="html"><![CDATA[<p>Скрипты по ссылке вроде на контролы и текст реагируют, тогда как в адресной строке не за что зацепиться (в частности, в Хроме).</p>]]></content>
			<author>
				<name><![CDATA[DD]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=25263</uri>
			</author>
			<updated>2018-04-30T11:14:28Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=125015#p125015</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование адресной строки браузера и дальнейшая работа с ней]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=125011#p125011" />
			<content type="html"><![CDATA[<p><a href="http://forum.script-coding.com/viewtopic.php?id=9480">http://forum.script-coding.com/viewtopic.php?id=9480</a></p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2018-04-30T08:43:44Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=125011#p125011</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование адресной строки браузера и дальнейшая работа с ней]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=125008#p125008" />
			<content type="html"><![CDATA[<p>А есть ли способ как-то отличать адресную строку браузера (которые обычно без контрола), чтобы, к примеру, клик в пределах неё производил некое действие?</p>]]></content>
			<author>
				<name><![CDATA[DD]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=25263</uri>
			</author>
			<updated>2018-04-30T03:30:33Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=125008#p125008</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование адресной строки браузера и дальнейшая работа с ней]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=96412#p96412" />
			<content type="html"><![CDATA[<p>Да и вообще, зачем изобретать велосипед?<br /><a href="http://www.autohotkey.com/board/topic/111114-get-the-url-of-the-current-active-browser-tab/">http://www.autohotkey.com/board/topic/1 … owser-tab/</a></p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2015-08-12T16:45:15Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=96412#p96412</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование адресной строки браузера и дальнейшая работа с ней]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=96404#p96404" />
			<content type="html"><![CDATA[<p>Проверял на 2 компах.<br />На одном: path=4.24.3.2<br />На втором: path=4.26.3.2<br /></p><div class="quotebox"><blockquote><p>Тоже не пойдёт, у меня например accName не &quot;Address and search bar&quot;.</p></blockquote></div><p>Можно сделать несколько вариантов в зависимости от локализации.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2015-08-12T07:23:00Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=96404#p96404</id>
		</entry>
</feed>
