<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Отображение полного заголовка вверху браузера]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=9888</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=9888&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Отображение полного заголовка вверху браузера».]]></description>
		<lastBuildDate>Wed, 13 Aug 2014 07:02:57 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85879#p85879</link>
			<description><![CDATA[<p><strong>serzh82saratov</strong>, большущее вам спасибо! Теперь все так, как я хотел.</p>]]></description>
			<author><![CDATA[null@example.com (Dimox)]]></author>
			<pubDate>Wed, 13 Aug 2014 07:02:57 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85879#p85879</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85878#p85878</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Wed, 13 Aug 2014 06:48:47 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85878#p85878</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85875#p85875</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Dimox)]]></author>
			<pubDate>Wed, 13 Aug 2014 05:26:56 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85875#p85875</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85871#p85871</link>
			<description><![CDATA[<p>ypppu, попробовал, на других программах срабатывает, но на Опере никак не хочет.</p>]]></description>
			<author><![CDATA[null@example.com (Dimox)]]></author>
			<pubDate>Tue, 12 Aug 2014 16:38:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85871#p85871</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85867#p85867</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Tue, 12 Aug 2014 15:46:49 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85867#p85867</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85866#p85866</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Dimox)]]></author>
			<pubDate>Tue, 12 Aug 2014 14:36:09 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85866#p85866</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85865#p85865</link>
			<description><![CDATA[<p>Можете попробовать &quot;вручную&quot; вернуть окну заголовок командой <em>WinSet</em>.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Tue, 12 Aug 2014 14:16:32 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85865#p85865</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85864#p85864</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Tue, 12 Aug 2014 14:15:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85864#p85864</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85862#p85862</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Dimox)]]></author>
			<pubDate>Tue, 12 Aug 2014 14:04:42 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85862#p85862</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85861#p85861</link>
			<description><![CDATA[<p>Ну я же говорю, не обновляет потому, что они поменяли движок.</p>]]></description>
			<author><![CDATA[null@example.com (Dimox)]]></author>
			<pubDate>Tue, 12 Aug 2014 14:03:15 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85861#p85861</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85859#p85859</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Tue, 12 Aug 2014 13:49:44 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85859#p85859</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85856#p85856</link>
			<description><![CDATA[<p>Обновления 12-й ветки возможны только в случае, если они найдут критические уязвимости, как это и было с версией <a href="http://blogs.opera.com/desktop/2014/04/opera-12-17/">12.17</a>.</p>]]></description>
			<author><![CDATA[null@example.com (Dimox)]]></author>
			<pubDate>Tue, 12 Aug 2014 13:38:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85856#p85856</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85855#p85855</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Можете сделать? Я в скриптинге совсем не разбираюсь.</p></blockquote></div><p>Могу, но тут либо пиво, либо пробуйте разобратся в коде, и по ходу вашей разработки я вам подскажу.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Tue, 12 Aug 2014 13:37:33 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85855#p85855</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85854#p85854</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Tue, 12 Aug 2014 13:33:14 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85854#p85854</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Отображение полного заголовка вверху браузера]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85853#p85853</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Dimox)]]></author>
			<pubDate>Tue, 12 Aug 2014 13:32:52 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85853#p85853</guid>
		</item>
	</channel>
</rss>
