<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: OSD для любой программы. Убрать из OSD определенный текст]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=9733&amp;type=atom" />
	<updated>2016-07-03T01:26:29Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=9733</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: OSD для любой программы. Убрать из OSD определенный текст]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=105833#p105833" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong><br />Здравствуйте, нашёл эту тему, т.к. в Вашем коде из <a href="http://forum.script-coding.com/viewtopic.php?pid=90217#p90217">27</a> сообщения есть нужная мне функциональность изменения громкости, при запуске программ, могли бы Вы помочь в <a href="http://forum.script-coding.com/viewtopic.php?pid=105797">этой</a> теме?</p>]]></content>
			<author>
				<name><![CDATA[Balux]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=33580</uri>
			</author>
			<updated>2016-07-03T01:26:29Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=105833#p105833</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: OSD для любой программы. Убрать из OSD определенный текст]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=90274#p90274" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong><br />Сейчас на чистой системе посмотрел, все в порядке, видимо что-то подглючило у меня. Просто было впечатление, что скрипт обновляет OSD через определенный промежуток времени и тянет за собой таскбар, поэтому первая мысль была такая.</p>]]></content>
			<author>
				<name><![CDATA[Esc]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=32797</uri>
			</author>
			<updated>2015-01-10T17:06:47Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=90274#p90274</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: OSD для любой программы. Убрать из OSD определенный текст]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=90273#p90273" />
			<content type="html"><![CDATA[<p>Просто когда плеер в полный экран, OSD скрыто, и скрипт не производит никаких действий.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2015-01-10T16:58:09Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=90273#p90273</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: OSD для любой программы. Убрать из OSD определенный текст]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=90267#p90267" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong><br />Я еще потестирую на чистой системе и сообщу, но посмотрев с предыдущим скриптом без TopMost, такого не происходило.</p>]]></content>
			<author>
				<name><![CDATA[Esc]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=32797</uri>
			</author>
			<updated>2015-01-10T14:30:39Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=90267#p90267</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: OSD для любой программы. Убрать из OSD определенный текст]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=90249#p90249" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>при просмотре видео в полный экран, на миллисекунду <strong>появляется панель задач</strong>, за час произошло два раза. Но это я так, чтобы Вы знали, что вариант TopMost-а не идеальный</p></blockquote></div><p>Не вижу связи, появляется ведь панель задач, а TopMost делается только OSD.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2015-01-10T07:02:40Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=90249#p90249</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: OSD для любой программы. Убрать из OSD определенный текст]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=90243#p90243" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong><br />Спасибо, но, к сожалению, при просмотре видео в полный экран, на миллисекунду появляется панель задач, за час произошло два раза. Но это я так, чтобы Вы знали, что вариант TopMost-а не идеальный. Я, наверное, это решу с помощью 7+ Taskbar Tweaker, когда-то я жутко мучался с OSD от foobar2000, боясь сделать клик по панели задач. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Esc]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=32797</uri>
			</author>
			<updated>2015-01-09T22:07:40Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=90243#p90243</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: OSD для любой программы. Убрать из OSD определенный текст]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=90233#p90233" />
			<content type="html"><![CDATA[<p>Поправил код.<br />Окно всегда поверх панели задач. <br />Нет файла в заголовке, нет осд.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2015-01-09T09:45:50Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=90233#p90233</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: OSD для любой программы. Убрать из OSD определенный текст]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=90223#p90223" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong><br />Ясно, а то я так промучался несколько часов, пытаясь разобраться, а оказывается это было невозможно. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> С Вашими навыками из винды можно сделать просто идеал эргономики. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Esc]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=32797</uri>
			</author>
			<updated>2015-01-08T22:09:54Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=90223#p90223</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: OSD для любой программы. Убрать из OSD определенный текст]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=90222#p90222" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>а как так RegExReplace ведь тот же</p></blockquote></div><p>Дело было не RegExReplace, а видимо в неправильной подгонке ширины окна под новый текст, но точно не скажу, я не запускал.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2015-01-08T21:58:46Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=90222#p90222</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: OSD для любой программы. Убрать из OSD определенный текст]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=90220#p90220" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong><br />Нет слов, на первый взгляд все идеально, а как так RegExReplace ведь тот же. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> И авто-громкость это просто годнота.</p>]]></content>
			<author>
				<name><![CDATA[Esc]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=32797</uri>
			</author>
			<updated>2015-01-08T21:51:44Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=90220#p90220</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: OSD для любой программы. Убрать из OSD определенный текст]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=90217#p90217" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>Можете сами попробовать, есть портативная сборка</code></pre></div><p>На вашем коде не пробовал, допиленный из 7 поста вроде работает в соответствии с пожеланиями:<br /></p><div class="codebox"><pre><code>
#SingleInstance Force

WinTitle := &quot;ahk_class MPC-BE ahk_exe mpc-be64.exe&quot;  ; класс и процесс окна
wx := 5  ; x - координата показа osd
wy := 857  ; y - координата показа osd
TextColor := &quot;FFFF00&quot;
TextSize := 14
FontName := &quot;Verdana&quot;
FontStyle := &quot;norm&quot;
Quality := 0
Global tWin, hOSD
Gui, +AlwaysOnTop +ToolWindow -Caption -DPIScale +LastFound +E0x00000020 +HWNDhOSD
Gui, Color, EEAA99
WinSet, TransColor, EEAA99 220
Gui, Font, % &quot;s&quot; . TextSize . &quot; q&quot; . Quality . &quot; &quot; . FontStyle, % FontName
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  {
    WinWait, % WinTitle
    tWin := WinExist(WinTitle)
    GoSub isWindowFullScreen
    SoundSet 25
    WinWaitClose, % WinTitle 
    tWin := HideOSD := 0, GuiHide()
    SoundSet 10
}

#If tWin
^Space:: ((HideOSD := !HideOSD) ? GuiHide() : OSD())

OSD()  {
    Global
    if FS || HideOSD
        Return
    WinGetTitle, Title, ahk_id %tWin%
    Title := RegExReplace(Title, &quot;( - )?MPC-BE x64.*&quot;)
    DllCall(&quot;DestroyWindow&quot;, &quot;Ptr&quot;, hText)
    Gui, Add, Text, % &quot;Center hwndhText c&quot; TextColor &quot; x&quot; 0 &quot; y&quot; 0, % Title
    Gui, Show, NA AutoSize x%wx% y%wy%
    SetTimer OnTopTaskBar, 70
}

GuiHide()  {
    Gui, Show, Hide
    SetTimer OnTopTaskBar, Off
}

isWindowFullScreen:
    WinGet style, Style, ahk_id %tWin%
    WinGetPos, , , winW, winH, ahk_id %tWin%
    ; 0x800000 is WS_BORDER. 0x20000000 is WS_MINIMIZE. no border and not minimized
    FS := (!(style &amp; 0x20800000) &amp;&amp; winH = A_ScreenHeight &amp;&amp; winW = A_ScreenWidth)
    (FS ? GuiHide() : OSD())
    Return

OnTopTaskBar: 
    Gui, +AlwaysOnTop
    Return

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

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

WinEventHook(hWinEventHook, event, hwnd, idObject, idChild, dwEventThread, dwmsEventTime)   {
    if (tWin &amp;&amp; hwnd = tWin)
        SetTimer isWindowFullScreen, -100
}

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;)
}
</code></pre></div><p>Закомментировал там вариант с RegExMatch, на случай если в плеере нет проигрываемого файла, то чтобы и осд отсутствовало.</p><p>Сделал окно осд насквозь кликабельным, думаю так удобнее.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2015-01-08T20:26:09Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=90217#p90217</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: OSD для любой программы. Убрать из OSD определенный текст]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=90214#p90214" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong><br />Сам удивляюсь, помоему дело не в этом, т.к. следующее название шире работает, но например из <strong>2577533886.webm</strong> получается <strong>2577533886.weI</strong>, а <strong>&quot;MPC-BE x64.*&quot;</strong> делает <strong>2577533886.webr</strong>. Можете сами попробовать, есть портативная сборка. </p><p><a href="http://forum.ru-board.com/topic.cgi?forum=5&amp;topic=39513&amp;start=5340">http://forum.ru-board.com/topic.cgi?for … start=5340</a></p>]]></content>
			<author>
				<name><![CDATA[Esc]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=32797</uri>
			</author>
			<updated>2015-01-08T18:09:17Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=90214#p90214</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: OSD для любой программы. Убрать из OSD определенный текст]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=90212#p90212" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>Title = MARIE MADELEINE - SWIMMING POOL.mp4 - MPC-BE X64 - 1.4.3 svn 5780 -beta

Title := RegExReplace(Title, &quot; - MPC-BE X64.*&quot;)
 
MsgBox, % Title</code></pre></div><div class="quotebox"><blockquote><p>Пробовал, такой вариант убирает последнее слово из названия, поэтому только промучался. Причем иногда убирает только пол буквы, оставляя I от B.</p></blockquote></div><p>Чудеса, да и только! Особенно про пол буквы. Может ваше окно не обновляет ширину для вмещения нового текста.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2015-01-08T17:54:08Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=90212#p90212</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: OSD для любой программы. Убрать из OSD определенный текст]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=90211#p90211" />
			<content type="html"><![CDATA[<p><strong>YMP</strong><br />Много читал про все эти &quot;.+(?=&quot;, но так ничего итне добился, работает, но нужно то пррспособить под <a href="http://forum.script-coding.com/viewtopic.php?pid=84165#p84165">код</a>, т.е. с RegExReplace. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><p><strong>serzh82saratov</strong><br />Пробовал, такой вариант убирает последнее слово из названия, поэтому только промучался. Причем иногда убирает только пол буквы, оставляя <strong>I</strong> от <strong>B. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br /></strong><br />Так в заголовке:<br /><strong>MARIE MADELEINE - SWIMMING POOL.mp4 - MPC-BE X64 - 1.4.3 svn 5780 -beta</strong><br />А так в OSD:<br /><strong>MARIE MADELEINE - SWIMMING</strong></p>]]></content>
			<author>
				<name><![CDATA[Esc]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=32797</uri>
			</author>
			<updated>2015-01-08T17:50:38Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=90211#p90211</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: OSD для любой программы. Убрать из OSD определенный текст]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=90210#p90210" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>Title = Название файла.mkv - MPC-BE X64 - 1.4.3 svn 5780 -beta

Title := RegExReplace(Title, &quot; - MPC-BE X64.*&quot;)
 
MsgBox, % Title</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2015-01-08T17:37:02Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=90210#p90210</id>
		</entry>
</feed>
