<?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=11670&amp;type=atom" />
	<updated>2018-06-20T09:39:46Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=11670</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Управление микшером в контексте приложений]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=126258#p126258" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong>, добавьте, пожалуйста, хоткей на сброс параметров микшера до 100% для всех приложений (если возможно, то в т.ч. и закрытых в данный момент), кроме системных звуков.</p>]]></content>
			<author>
				<name><![CDATA[becauseim]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=33149</uri>
			</author>
			<updated>2018-06-20T09:39:46Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=126258#p126258</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Управление микшером в контексте приложений]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=126152#p126152" />
			<content type="html"><![CDATA[<p>У меня это работает, писал давно, с тех пор код не причёсывал.<br />Работает с окном под курсором.<br /></p><div class="codebox"><pre><code>
1:: AppVolume(&quot;Vol&quot;, -10)
2:: AppVolume(&quot;Vol&quot;, +10)
3:: AppVolume(&quot;Mute&quot;, 2)  ; переключать Mute
4:: ExclusiveAppVolume() ; оставить звук только этого приложения 
5:: AppVolume(&quot;SetVol&quot;, 10)
6:: AppVolume(&quot;Mute&quot;, &quot;Get&quot;)
7:: AppVolume(&quot;GetVol&quot;)

AppVolume(Key, Val = &quot;&quot;) { 
	MouseGetPos, , , winid
	WinGet, PID, PID, ahk_id %winid%
    WinGet, ProcessName, ProcessName, ahk_id %winid%   
	StringUpper, ProcessName, ProcessName
	SplitPath, ProcessName, , , , ProcessName					
    if ProcessName = explorer 
        Pid := 0 , ProcessName := &quot;Системные`nзвуки&quot;
    Res := VA_AppVolume(Key, Val, Pid)
	if Res =
		Message := ProcessName &quot;`n`nОтсутствует в микшере&quot;, ColorF := &quot;Red&quot;, Font := 22
	else if Key = Mute
		Message := ProcessName &quot;`n`n&quot; (Res = 0 ? &quot;Mute OFF&quot;: &quot;Mute ON&quot;) , ColorF := (Res = 0 ? &quot;Yellow&quot; : &quot;Red&quot;) , Font := 22
	else
		Message := ProcessName &quot;`n`n&quot; Res  &quot; `%&quot;, Font := (Res / 10 + 20), ColorF := 0xFFFFFF
	GuiTip( Message, Font, ColorF)
}

ExclusiveAppVolume() {
    Static T, PrPid
	MouseGetPos, , , winid
	WinGet, PID, PID, ahk_id %winid%
    WinGet, Text, ProcessName, ahk_pid %Pid%
    Text := RTrim( Text, &quot;\.exe&quot;)
    StringUpper, Text, Text
	if Text = explorer 
        Pid := 0 , Text := &quot;Системные звуки&quot; 
    ListPid := 0 &quot;|&quot; VA_AppVolume(&quot;ListPid&quot;)
    ListPid := RTrim( RegExReplace( ListPid, &quot;S)(^|\|)&quot; Pid &quot;($|\|)&quot;, &quot;$1&quot;, Count, 1), &quot;|&quot;) 
    If !Count
        Return
    T := PrPid = Pid ? !T : 1
    PrPid := Pid
    Loop, parse, ListPid, | 
        VA_AppVolume(&quot;Mute&quot;, T, A_LoopField) 
    VA_AppVolume(&quot;Mute&quot;, 0, Pid)    
	GuiTip( &quot;Exclusive app sound `n&quot; (T ? &quot;Только `n`n&quot;&quot;  &quot; Text &quot;&quot;&quot; &quot; : &quot;`nВсе звуки включены &quot;), 22, !T ? &quot;Yellow&quot; : &quot;Red&quot;, 696969, 1500)
}

GuiTip( Text, sFont, ColorF = &quot;&quot;, ColorG = &quot;7890A1&quot;, Timer = 1000)     {
    Static hToolTip 
    Gui, TT: +AlwaysOnTop +ToolWindow -0x400000 +E0x08000000
    Gui, TT: Color, %ColorG% 
    Gui, TT: Font, s%sFont% Italic, Times New Roman
	DllCall(&quot;DestroyWindow&quot;, &quot;Ptr&quot;, hToolTip) 
    Gui TT: Add, Text, Center gDestroyTT hwndhToolTip x30 y10 c%ColorF%, % Text 
	Gui TT: Show, NA xCenter y5 AutoSize
    SetTimer, DestroyTT, -%Timer%
    Return 
    DestroyTT:  
        Gui, TT: Destroy
        Return
}

VA_AppVolume(Key, Val = &quot;&quot;, Pid = &quot;!&quot;)
{
    dev := VA_GetDevice()
    if !dev
        Return
    if VA_IMMDevice_Activate(dev, &quot;{77AA99A0-1BD6-484F-8BC7-2C654C9A9B6F}&quot;, 7, 0, mgr) != 0 ; IID_IAudioSessionManager2
        Return ObjRelease(dev)
    ObjRelease(dev)
    if VA_IAudioSessionManager2_GetSessionEnumerator(mgr, enm) != 0
        Return ObjRelease(mgr)
    ObjRelease(mgr)
    VA_IAudioSessionEnumerator_GetCount(enm, count) 
    Loop % count
    {
        VA_IAudioSessionEnumerator_GetSession(enm, A_Index-1, ssn)
        VA_IAudioSessionControl2_GetProcessId(ssn, curpid)
        if (Pid = curpid) 
        {
			sav := ComObjQuery(ssn, &quot;{87CE5498-68D6-44E5-9215-6DA47EF883D8}&quot;) ; IID_ISimpleAudioVolume
			ObjRelease(ssn)
			if !sav
				Return
            DllCall(NumGet(NumGet(sav+0)+6*A_PtrSize), &quot;uint&quot;, sav, &quot;int*&quot;, mute) ; GetMute
			if (Key = &quot;Vol&quot;)
			{
				DllCall(NumGet(NumGet(sav+0)+4*A_PtrSize), &quot;uint&quot;, sav, &quot;float*&quot;, volume) ; GetVolume
				if mute = 1
					DllCall(NumGet(NumGet(sav+0)+5*A_PtrSize), &quot;uint&quot;, sav, &quot;int&quot;, 0, &quot;uint&quot;, 0, &quot;uint&quot;, VA_GUID(&quot;&quot;)) ; SetMute
				vol := (volume + Val / 100)
				vol := (vol &gt; 1) ? 1 : (vol &lt; 0) ? 0 : vol
				DllCall(NumGet(NumGet(sav+0)+3*A_PtrSize), &quot;uint&quot;, sav, &quot;float&quot;, vol, &quot;uint&quot;, VA_GUID(&quot;&quot;)) ; SetVolume
				Return Round(vol*100), ObjRelease(sav), ObjRelease(enm)
			}
            if (Key = &quot;Mute&quot;)
            {
				if (Val = &quot;Get&quot;)
					Return mute, ObjRelease(sav), ObjRelease(enm)
				DllCall(NumGet(NumGet(sav+0)+5*A_PtrSize), &quot;uint&quot;, sav, &quot;int&quot;, mute := (Val = 2) ? !mute : Val, &quot;uint&quot;, VA_GUID(&quot;&quot;)) ; SetMute
                Return mute, ObjRelease(sav), ObjRelease(enm)
            }
			if (Key = &quot;SetVol&quot;)
			{
				if mute = 1
					DllCall(NumGet(NumGet(sav+0)+5*A_PtrSize), &quot;uint&quot;, sav, &quot;int&quot;, 0, &quot;uint&quot;, VA_GUID(&quot;&quot;)) ; SetMute
				DllCall(NumGet(NumGet(sav+0)+3*A_PtrSize), &quot;uint&quot;, sav, &quot;float&quot;, Val / 100, &quot;uint&quot;, VA_GUID(&quot;&quot;)) ; SetVolume
				Return Val, ObjRelease(sav), ObjRelease(enm)
			}
			if (Key = &quot;GetVol&quot;)
			{
				DllCall(NumGet(NumGet(sav+0)+4*A_PtrSize), &quot;uint&quot;, sav, &quot;float*&quot;, volume) ; GetVolume
				Return Round(volume*100), ObjRelease(sav), ObjRelease(enm)
			}
        }
        ObjRelease(ssn)
		ListPid .= curpid &quot;|&quot;
    }
    ObjRelease(enm)

	if (Key = &quot;ListPid&quot;)
	{
		Loop, parse, ListPid, |
			List .= (WinExist(&quot;ahk_pid &quot; A_LoopField) ? A_LoopField &quot;|&quot; : &quot;&quot;)
		Return RTrim( List, &quot;|&quot;)
	}
}
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2018-06-18T15:48:16Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=126152#p126152</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Управление микшером в контексте приложений]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=126148#p126148" />
			<content type="html"><![CDATA[<p>В каком посте последняя обновленная рабочая версия скрипта?</p>]]></content>
			<author>
				<name><![CDATA[becauseim]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=33149</uri>
			</author>
			<updated>2018-06-18T15:14:20Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=126148#p126148</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Управление микшером в контексте приложений]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=126147#p126147" />
			<content type="html"><![CDATA[<p>Не, не использую.<br />Я даже не вдавался в подробности, как этот интерфейс работает.<br /></p><div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Заменил 0 на VA_GUID(&quot;&quot;), тоже норм.</p></blockquote></div><p>До следующего апдейта. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />)))</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2018-06-18T15:02:17Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=126147#p126147</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Управление микшером в контексте приложений]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=126146#p126146" />
			<content type="html"><![CDATA[<p>Я из описания не понял что это и зачем, подумал может ты это как то используешь.<br />Заменил 0 на VA_GUID(&quot;&quot;), тоже норм.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2018-06-18T14:58:47Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=126146#p126146</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Управление микшером в контексте приложений]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=126145#p126145" />
			<content type="html"><![CDATA[<p><a href="https://msdn.microsoft.com/en-us/library/windows/desktop/dd316539(v=vs.85).aspx">https://msdn.microsoft.com/en-us/librar … s.85).aspx</a><br />И кстати, он не равен нулю.<br /></p><div class="codebox"><pre><code>msgbox % VA_GUID(&quot;&quot;)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2018-06-18T14:47:10Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=126145#p126145</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Управление микшером в контексте приложений]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=126144#p126144" />
			<content type="html"><![CDATA[<p>Кстати не знаешь что должен делать VA_GUID(EventContext) в SetMute и SetVolume.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2018-06-18T14:29:32Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=126144#p126144</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Управление микшером в контексте приложений]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=126143#p126143" />
			<content type="html"><![CDATA[<p>Да, действительно добавил нули, заработало. Значит ошибка была в предыдущих версиях, вроде в DllCall последние опущенные параметры равнялись нулю, во всяком случае я так думал.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2018-06-18T14:17:54Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=126143#p126143</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Управление микшером в контексте приложений]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=126142#p126142" />
			<content type="html"><![CDATA[<p>Если вставить этот параметр, то работает.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2018-06-18T14:08:57Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=126142#p126142</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Управление микшером в контексте приложений]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=126141#p126141" />
			<content type="html"><![CDATA[<p>Давно писал уже, видимо тогда хотелось всё сократить, но там последний параметр всё равно 0.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2018-06-18T14:06:19Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=126141#p126141</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Управление микшером в контексте приложений]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=126140#p126140" />
			<content type="html"><![CDATA[<p>Ну раз не работает, значит не тоже самое.<br />А зачем ты сократил изначальную функцию:<br /></p><div class="codebox"><pre><code>VA_ISimpleAudioVolume_SetMute(this, Mute, EventContext=&quot;&quot;) {
    return DllCall(NumGet(NumGet(this+0)+5*A_PtrSize), &quot;uint&quot;, this, &quot;int&quot;, Mute, &quot;uint&quot;, VA_GUID(EventContext))</code></pre></div><p>на:<br /></p><div class="codebox"><pre><code>DllCall(NumGet(NumGet(sav+0)+5*A_PtrSize), &quot;uint&quot;, sav, &quot;int&quot;, mute := (Val = 2) ? !mute : Val) ; SetMute</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2018-06-18T13:57:25Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=126140#p126140</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Управление микшером в контексте приложений]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=126139#p126139" />
			<content type="html"><![CDATA[<p>А тут где не рабочая, разве не тоже самое?<br />Во вторых интересно почему на 1.1.28.02 и более ранних всё работает.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2018-06-18T13:32:29Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=126139#p126139</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Управление микшером в контексте приложений]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=126138#p126138" />
			<content type="html"><![CDATA[<p>А чего не хочешь заменить свою функцию, на ту, которая работает?</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2018-06-18T13:29:56Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=126138#p126138</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Управление микшером в контексте приложений]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=126136#p126136" />
			<content type="html"><![CDATA[<p>Блин не проверил, тот работает. Не работает этот, Mute не переключается, громкость не регулируется. На предыдущих версиях уже очень давно всё норм.<br />Работает с окном под курсором.<br /></p><div class="codebox"><pre><code>
#SingleInstance Force
#NoEnv

1::AppVolume(&quot;Vol&quot;, -10)
2:: AppVolume(&quot;Vol&quot;, +10)
3:: AppVolume(&quot;Mute&quot;, 2)  ;	Toggle Mute


AppVolume(Key, Val) { 
	MouseGetPos, , , winid
	WinGet, PID, PID, ahk_id %winid%
    WinGet, ProcessName, ProcessName, ahk_id %winid%   
	StringUpper, ProcessName, ProcessName
	SplitPath, ProcessName, , , , ProcessName					
    if ProcessName = explorer 
        Pid := 0 , ProcessName := &quot;Системные`nзвуки&quot;
    Res := VA_AppVolume(Key, Val, Pid)
	if Res =
		Message := ProcessName &quot;`n`nОтсутствует в микшере&quot;, ColorF := &quot;Red&quot;, Font := 22
	else if Key = Mute
		Message := ProcessName &quot;`n`n&quot; (Res = 0 ? &quot;Mute OFF&quot;: &quot;Mute ON&quot;) , ColorF := (Res = 0 ? &quot;Yellow&quot; : &quot;Red&quot;) , Font := 22
	else
		Message := ProcessName &quot;`n`n&quot; Res  &quot; `%&quot;, Font := (Res / 10 + 20), ColorF := 0xFFFFFF
	GuiTip( Message, Font, ColorF)
}

GuiTip( Text, sFont, ColorF = &quot;&quot;, ColorG = &quot;7890A1&quot;, Timer = 1000)     {
    Static hToolTip 
    Gui, TT: +AlwaysOnTop +ToolWindow -0x400000 +E0x08000000
    Gui, TT: Color, %ColorG% 
    Gui, TT: Font, s%sFont% Italic, Times New Roman
	DllCall(&quot;DestroyWindow&quot;, &quot;Ptr&quot;, hToolTip) 
    Gui TT: Add, Text, Center gDestroyTT hwndhToolTip x30 y10 c%ColorF%, % Text 
	Gui TT: Show, NA xCenter y5 AutoSize
    SetTimer, DestroyTT, -%Timer%
    Return 
    DestroyTT:  
        Gui, TT: Destroy
        Return
}	

VA_AppVolume(Key, Val = &quot;&quot;, Pid = &quot;!&quot;)
{
    dev := VA_GetDevice()
    if !dev
        Return
    if VA_IMMDevice_Activate(dev, &quot;{77AA99A0-1BD6-484F-8BC7-2C654C9A9B6F}&quot;, 7, 0, mgr) != 0 ; IID_IAudioSessionManager2
        Return ObjRelease(dev)
    ObjRelease(dev)
    if VA_IAudioSessionManager2_GetSessionEnumerator(mgr, enm) != 0
        Return ObjRelease(mgr)
    ObjRelease(mgr)
    VA_IAudioSessionEnumerator_GetCount(enm, count) 
    Loop % count
    {
        VA_IAudioSessionEnumerator_GetSession(enm, A_Index-1, ssn)
        VA_IAudioSessionControl2_GetProcessId(ssn, curpid)
        if (Pid = curpid)
        {
			sav := ComObjQuery(ssn, &quot;{87CE5498-68D6-44E5-9215-6DA47EF883D8}&quot;) ; IID_ISimpleAudioVolume
			ObjRelease(ssn)
			if !sav
				Return
            DllCall(NumGet(NumGet(sav+0)+6*A_PtrSize), &quot;uint&quot;, sav, &quot;int*&quot;, mute) ; GetMute
			if (Key = &quot;Vol&quot;)
			{
				DllCall(NumGet(NumGet(sav+0)+4*A_PtrSize), &quot;uint&quot;, sav, &quot;float*&quot;, volume) ; GetVolume
				if mute = 1
					DllCall(NumGet(NumGet(sav+0)+5*A_PtrSize), &quot;uint&quot;, sav, &quot;int&quot;, 0) ; SetMute
				vol := (volume + Val / 100)
				vol := (vol &gt; 1) ? 1 : (vol &lt; 0) ? 0 : vol
				DllCall(NumGet(NumGet(sav+0)+3*A_PtrSize), &quot;uint&quot;, sav, &quot;float&quot;, vol) ; SetVolume
				Return Round(vol*100), ObjRelease(sav), ObjRelease(enm)
			}
            if (Key = &quot;Mute&quot;)
            {
				if (Val = &quot;Get&quot;)
					Return mute, ObjRelease(sav), ObjRelease(enm)
				DllCall(NumGet(NumGet(sav+0)+5*A_PtrSize), &quot;uint&quot;, sav, &quot;int&quot;, mute := (Val = 2) ? !mute : Val) ; SetMute
                Return mute, ObjRelease(sav), ObjRelease(enm)
            }
			if (Key = &quot;SetVol&quot;)
			{
				if mute = 1
					DllCall(NumGet(NumGet(sav+0)+5*A_PtrSize), &quot;uint&quot;, sav, &quot;int&quot;, 0) ; SetMute
				DllCall(NumGet(NumGet(sav+0)+3*A_PtrSize), &quot;uint&quot;, sav, &quot;float&quot;, Val / 100) ; SetVolume
				Return Val, ObjRelease(sav), ObjRelease(enm)
			}
			if (Key = &quot;GetVol&quot;)
			{
				DllCall(NumGet(NumGet(sav+0)+4*A_PtrSize), &quot;uint&quot;, sav, &quot;float*&quot;, volume) ; GetVolume
				Return Round(volume*100), ObjRelease(sav), ObjRelease(enm)
			}
        }
        ObjRelease(ssn)
		ListPid .= curpid &quot;|&quot;
    }
    ObjRelease(enm)

	if (Key = &quot;ListPid&quot;)
	{
		Loop, parse, ListPid, |
			List .= (WinExist(&quot;ahk_pid &quot; A_LoopField) ? A_LoopField &quot;|&quot; : &quot;&quot;)
		Return RTrim( List, &quot;|&quot;)
	}
}
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2018-06-18T13:08:40Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=126136#p126136</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Управление микшером в контексте приложений]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=126135#p126135" />
			<content type="html"><![CDATA[<p>У меня на такой же системе 1.1.29.01 код из 8 поста работает.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2018-06-18T12:58:47Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=126135#p126135</id>
		</entry>
</feed>
