<?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="https://forum.script-coding.com/extern.php?action=feed&amp;tid=9888&amp;type=atom" />
	<updated>2014-08-13T07:02:57Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=9888</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85879#p85879" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong>, большущее вам спасибо! Теперь все так, как я хотел.</p>]]></content>
			<author>
				<name><![CDATA[Dimox]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32435</uri>
			</author>
			<updated>2014-08-13T07:02:57Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85879#p85879</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85878#p85878" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>
#SingleInstance Force     
#Persistent
#NoEnv
ListLines Off
SetBatchLines -1 

Gui, +AlwaysOnTop -Caption -DPIScale +E0x08000020 +LastFound
Gui, Margin, 0, 0
Gui, Color, 63B8DF
Gui, Font, s10 cffffff bold, Trebuchet MS
Gui, Add, Text, vText +0x4000, % &quot; &quot;  ; 0x4000 = SS_ENDELLIPSIS 
WinSet, TransColor, 63B8DF 
Global tWin  
OnExit, Exit
DllCall(&quot;RegisterShellHookWindow&quot;, &quot;UInt&quot;, A_ScriptHwnd)
OnMessage(DllCall(&quot;RegisterWindowMessage&quot;, &quot;str&quot;, &quot;SHELLHOOK&quot;), &quot;ShellProc&quot;) 
SetWinEventHook(0x800B, 0x800B, 0, RegisterCallback(&quot;WinEventHook&quot;, &quot;F&quot;),0,0,0)    ;    EVENT_OBJECT_LOCATIONCHANGE 

Loop  {
    WinWaitActive ahk_exe opera.exe
    tWin := WinExist(), OSD()
    WinWaitNotActive, ahk_id %tWin% 
    Gui, Show, Hide
} 

ShellProc(nCode, wParam)  {  
    If (nCode = 6 &amp;&amp; wParam = tWin) ; HSHELL_REDRAW
        OSD() 
}

WinEventHook(hWinEventHook, event, hwnd, idObject, idChild, dwEventThread, dwmsEventTime)   {    
    if (hwnd = tWin)
        OSD()
}

OSD()  {
    WinGetPos, WinX, WinY, WinW, WinH, ahk_id %tWin%
    Gui, Show, % &quot;NA x&quot; WinX+20 &quot; y&quot; WinY+9 &quot; w&quot; WinW-40
    GuiControl, Move, Text, % &quot;w&quot; WinW-40
    WinGetTitle, WinTitle, ahk_id %tWin%
    GuiControl, , Text, % WinTitle
}
 
SetWinEventHook(eventMin, eventMax, hmodWinEventProc, lpfnWinEventProc, idProcess, idThread, dwFlags) {
    Return DllCall(&quot;SetWinEventHook&quot; , &quot;UInt&quot;, eventMin, &quot;UInt&quot;, eventMax, &quot;Ptr&quot;, hmodWinEventProc
            , &quot;Ptr&quot;, lpfnWinEventProc, &quot;UInt&quot;, idProcess, &quot;UInt&quot;, idThread, &quot;UInt&quot;, dwFlags, &quot;Ptr&quot;)
}

Exit: 
    DllCall(&quot;DeregisterShellHookWindow&quot;, &quot;UInt&quot;, A_ScriptHwnd)
    ExitApp
</code></pre></div><p>Также поддерживается изменение позиции и размеров окна.</p><div class="quotebox"><blockquote><p>когда окно браузера получает фокус, &quot;nCode = 4&quot; почему-то не срабатывает.</p></blockquote></div><p>Хмм... Почему таки, да. Не знаю что сломалось, для самого загадка.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2014-08-13T06:48:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85878#p85878</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85875#p85875" />
			<content type="html"><![CDATA[<p>Вот что у меня получилось на данный момент:</p><div class="codebox"><pre><code>
#NoTrayIcon ; не отображать иконку скрипта в трее

Global Win := &quot;ahk_class Chrome_WidgetWin_1&quot;
    , tWin := WinExist(Win)
    , WinTitle

OnExit, Exit
DllCall(&quot;RegisterShellHookWindow&quot;, &quot;UInt&quot;, A_ScriptHwnd)
OnMessage(DllCall(&quot;RegisterWindowMessage&quot;, &quot;str&quot;, &quot;SHELLHOOK&quot;), &quot;ShellProc&quot;)

SetWinEventHook(0x800B, 0x800B, 0, RegisterCallback(&quot;WinEventHook&quot;, &quot;F&quot;),0,0,0)
; BrowserTitle()
Return

Exit:
    DllCall(&quot;DeregisterShellHookWindow&quot;, &quot;UInt&quot;, A_ScriptHwnd)
    ExitApp

ShellProc(nCode, wParam)  {
    If (nCode = 2 &amp;&amp; wParam = tWin &amp;&amp; !(tWin := 0)) ; HSHELL_WINDOWDESTROYED (Когда браузер закрывается)
        Gui, 1: Destroy
    Else If (nCode = 1 &amp;&amp; !tWin &amp;&amp; (tWin := WinExist(Win))) ; HSHELL_WINDOWCREATED (Когда браузер открывается)
        BrowserTitle()
    Else If (nCode = 6 &amp;&amp; wParam = tWin) ; HSHELL_REDRAW (Когда переключается вкладка)
        BrowserTitle()
    ; Else If (nCode = 4 &amp;&amp; wParam = tWin) ; HSHELL_WINDOWACTIVATED (Когда окно браузера получает фокус)
        ; BrowserTitle()
    Else ; (Когда окно браузера теряет фокус)
        Gui, 1: Destroy
}

SetWinEventHook(eventMin, eventMax, hmodWinEventProc, lpfnWinEventProc, idProcess, idThread, dwFlags) {
    Return DllCall(&quot;SetWinEventHook&quot; , &quot;UInt&quot;, eventMin, &quot;UInt&quot;, eventMax, &quot;Ptr&quot;, hmodWinEventProc
        , &quot;Ptr&quot;, lpfnWinEventProc, &quot;UInt&quot;, idProcess, &quot;UInt&quot;, idThread, &quot;UInt&quot;, dwFlags, &quot;Ptr&quot;)
}

BrowserTitle()  {
    WinGetTitle, WinTitle, ahk_id %tWin%
    ; WinTitle := Rtrim(WinTitle, &quot; — Opera&quot;)
    Gui, 1: Destroy
    Gui, 1: +AlwaysOnTop +ToolWindow -Caption +LastFound
    Gui, Margin, 0, 0
    Gui, Color, 63B8DF
    WinSet, TransColor, 63B8DF
    Gui, Font, s10 cFFFFFF bold, Trebuchet MS
    Gui, Add, Text,, %WinTitle%
    Gui, Show, NoActivate x170 y4 w1400 h18
}
</code></pre></div><p>Никак не получается сделать появление GUI, когда окно браузера получает фокус, &quot;nCode = 4&quot; почему-то не срабатывает.</p>]]></content>
			<author>
				<name><![CDATA[Dimox]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32435</uri>
			</author>
			<updated>2014-08-13T05:26:56Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85875#p85875</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85871#p85871" />
			<content type="html"><![CDATA[<p>ypppu, попробовал, на других программах срабатывает, но на Опере никак не хочет.</p>]]></content>
			<author>
				<name><![CDATA[Dimox]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32435</uri>
			</author>
			<updated>2014-08-12T16:38:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85871#p85871</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85867#p85867" />
			<content type="html"><![CDATA[<p>Судя по картинке из первого сообщения, окно имеет стиль &quot;-Caption&quot;.<br />Как пользоваться командой <em>WinSet</em>: <strong>WinSet, Attribute, Value [, WinTitle, WinText, ExcludeTitle, ExcludeText]</strong>.<br />Пример из документации:<br /></p><div class="codebox"><pre><code>WinSet, Style, -0xC00000, A ; Удаляет полосу заголовка у активного окна (WS_CAPTION)</code></pre></div><p>На практике это будет выглядеть как-то так:<br /></p><div class="codebox"><pre><code>WinSet, Style, +0xC00000, Opera</code></pre></div>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2014-08-12T15:46:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85867#p85867</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85866#p85866" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>1. зачем тут SetWinEventHook?<br />2. зачем WinWaitActive если есть ShellProc?<br />3. зачем HSHELL_WINDOWCREATED и HSHELL_WINDOWDESTROYED?</p></blockquote></div><p>Не знаю ответов ни на один вопрос, потому что, как я уже говорил, в этом совсем не разбираюсь. Я тестирую методом тыка.</p><div class="quotebox"><blockquote><p>Можете попробовать &quot;вручную&quot; вернуть окну заголовок командой WinSet.</p></blockquote></div><p>Понимать бы еще, о чем вы говорите.</p>]]></content>
			<author>
				<name><![CDATA[Dimox]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32435</uri>
			</author>
			<updated>2014-08-12T14:36:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85866#p85866</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85865#p85865" />
			<content type="html"><![CDATA[<p>Можете попробовать &quot;вручную&quot; вернуть окну заголовок командой <em>WinSet</em>.</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2014-08-12T14:16:32Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85865#p85865</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85864#p85864" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>поменяли движок</p></blockquote></div><p>Как это может помешать процессу обновления программы?<br /></p><div class="quotebox"><blockquote><p>Получилось сделать</p></blockquote></div><p>1. зачем тут SetWinEventHook?<br />2. зачем WinWaitActive если есть ShellProc?<br />3. зачем HSHELL_WINDOWCREATED и HSHELL_WINDOWDESTROYED?</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2014-08-12T14:15:13Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85864#p85864</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85862#p85862" />
			<content type="html"><![CDATA[<p>Поковырял ваш код. Получилось сделать, чтобы ToolTip появлялся, когда браузер получает фокус, осталось сделать, чтобы он удалялся, когда браузер теряет фокус:</p><div class="codebox"><pre><code>
CoordMode, ToolTip, Screen
Global Win := &quot;ahk_class Chrome_WidgetWin_1&quot;
    , tWin := WinExist(Win)
    , WinTitle, FS

OnExit, Exit
DllCall(&quot;RegisterShellHookWindow&quot;, &quot;UInt&quot;, A_ScriptHwnd)
OnMessage(DllCall(&quot;RegisterWindowMessage&quot;, &quot;str&quot;, &quot;SHELLHOOK&quot;), &quot;ShellProc&quot;)

SetWinEventHook(0x800B, 0x800B, 0, RegisterCallback(&quot;WinEventHook&quot;, &quot;F&quot;),0,0,0)    ;    EVENT_OBJECT_LOCATIONCHANGE
OSD()
Return

Exit:
    DllCall(&quot;DeregisterShellHookWindow&quot;, &quot;UInt&quot;, A_ScriptHwnd)
    ExitApp

ShellProc(nCode, wParam)  {
    If (nCode = 2 &amp;&amp; wParam = tWin &amp;&amp; !(tWin := 0)) ; HSHELL_WINDOWDESTROYED
        ToolTip
    Else If (nCode = 1 &amp;&amp; !tWin &amp;&amp; (tWin := WinExist(Win))) ; HSHELL_WINDOWCREATED
        OSD()
    Else If (nCode = 6 &amp;&amp; wParam = tWin) ; HSHELL_REDRAW
        OSD()
}

SetWinEventHook(eventMin, eventMax, hmodWinEventProc, lpfnWinEventProc, idProcess, idThread, dwFlags) {
    Return DllCall(&quot;SetWinEventHook&quot; , &quot;UInt&quot;, eventMin, &quot;UInt&quot;, eventMax, &quot;Ptr&quot;, hmodWinEventProc
            , &quot;Ptr&quot;, lpfnWinEventProc, &quot;UInt&quot;, idProcess, &quot;UInt&quot;, idThread, &quot;UInt&quot;, dwFlags, &quot;Ptr&quot;)
}

OSD()  {
    WinWaitActive, %Win%
    IfWinActive, %Win%
    {
        WinGetTitle, WinTitle, ahk_id %tWin%
        if !FS
            ToolTip % WinTitle, 172, 4
    }

    ; тут нужно какое-то условие, чтобы ToolTip удалялся,
    ; когда браузер теряет фокус

}
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Dimox]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32435</uri>
			</author>
			<updated>2014-08-12T14:04:42Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85862#p85862</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85861#p85861" />
			<content type="html"><![CDATA[<p>Ну я же говорю, не обновляет потому, что они поменяли движок.</p>]]></content>
			<author>
				<name><![CDATA[Dimox]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32435</uri>
			</author>
			<updated>2014-08-12T14:03:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85861#p85861</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85859#p85859" />
			<content type="html"><![CDATA[<p>По ссылке я не нашёл текст говорящий, что &quot;обычных&quot; обновлений не будет.</p><p>Тут дело тёмное, почему с 12.15<br /></p><div class="quotebox"><blockquote><p>2013-04-04 - Opera 12.15</p></blockquote></div><p>оно не обновило на<br /></p><div class="quotebox"><blockquote><p>2013-05-28 - Opera 15 Next</p></blockquote></div><p>Да и собственно почему сейчас 12.17 не обновляет на 23?</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2014-08-12T13:49:44Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85859#p85859</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85856#p85856" />
			<content type="html"><![CDATA[<p>Обновления 12-й ветки возможны только в случае, если они найдут критические уязвимости, как это и было с версией <a href="http://blogs.opera.com/desktop/2014/04/opera-12-17/">12.17</a>.</p>]]></content>
			<author>
				<name><![CDATA[Dimox]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32435</uri>
			</author>
			<updated>2014-08-12T13:38:12Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85856#p85856</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85855#p85855" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Можете сделать? Я в скриптинге совсем не разбираюсь.</p></blockquote></div><p>Могу, но тут либо пиво, либо пробуйте разобратся в коде, и по ходу вашей разработки я вам подскажу.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2014-08-12T13:37:33Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85855#p85855</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85854#p85854" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>эти новые оперы из какой то другой оперы.</p></blockquote></div><p>Вот смотрите:<br /></p><div class="quotebox"><blockquote><p>2014-04-23 - Opera 12.17</p></blockquote></div><div class="quotebox"><blockquote><p>Opera 20 - 2014-03-04</p></blockquote></div><p>Это как так?</p><p>Чуствую что Opera 12.18 всё же появится.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2014-08-12T13:33:14Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85854#p85854</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85853#p85853" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Ну что ж, признаюсь не знал, но почему то обновление с 12.16 на 12.17 было не так давно, сейчас эта не обновляется. Они что за 4 месяца столько версий настрогали, да ещё и поломали автообновление. Вообщем эта 23 убога и кастрирована как хром, есть мнение что все эти новые оперы из какой то другой оперы.</p></blockquote></div><p>Версии до 12.17 включительно были на движке Presto. Прошлой весной они поменяли движок на Webkit, который используется в Хроме. Т.е. по сути теперь Опера - это Хром, и от старого функционал почти ничего не осталось. Именно из-за смены движка автообновления с версии 12.17 не происходит.</p><div class="quotebox"><blockquote><p>Не думаю что вся операция адаптации кода это только замена одной циферки.</p></blockquote></div><p>Можете сделать? Я в скриптинге совсем не разбираюсь.</p>]]></content>
			<author>
				<name><![CDATA[Dimox]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32435</uri>
			</author>
			<updated>2014-08-12T13:32:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85853#p85853</id>
		</entry>
</feed>
