<?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=9579&amp;type=atom" />
	<updated>2014-05-09T08:48:21Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=9579</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Включение\Выключение музыки]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=82813#p82813" />
			<content type="html"><![CDATA[<p>Проигрывание прервётся, если запустить ещё одно проигрывание.</p><p>Не что похожее я делал </p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;FndWav.ahk</div><div class="fancy_spoiler"><div class="codebox"><pre><code>; #include C:\AHK\Include\PathUses.ahk

ProgSysPath32 := &quot;C:\Program Files (x86)\&quot;
ProgSysPath64 := &quot;C:\Program Files\&quot;
WindowsDir := &quot;C:\Windows\&quot;

;--Пути к AHK
PathAhkProg := ProgSysPath32 &quot;AutoHotkey\&quot;
PathAhk := &quot;C:\AHK\&quot;
PathAhkInclude := PathAhk &quot;Include\&quot;
PathAhkIcon := PathAhk &quot;Icon\&quot;

;--Escape-последовательности как константы для MsgBox, %
cEscCR    := &quot;`r&quot;
cEscLF    := &quot;`n&quot;
cEscTab   := &quot;`t&quot;
cEscSps   := &quot; &quot;
cEscPrc      := &quot;`%&quot;
cEscQts   := &quot;&quot;&quot;&quot;

cAscCR    := Asc(cEscCR)
cAscLF    := Asc(cEscLF)
cAscTab   := Asc(cEscTab)
cAscSps   := Asc(cEscSps)
cAscPrc      := Asc(cEscPrc)
cAscQts   := Asc(cEscQts)

cEsc2LF    := cEscLF cEscLF
cEscCRLF  := cEscCR cEscLF



Menu, Tray, Icon, Shell32.dll, 168

If %0% ; Выборка аргументов командной строки
{
    args := []
    vCountArgs :=0
    Loop %0%
      {
        args[A_Index] := %A_Index%
        vCountArgs++
      }
}
If (vCountArgs &lt; 1)
  {
   gosub lHelp
   msgbox % 0+32 
         ,% &quot;Справка по FndWav&quot;
         ,% vHelp
         ,% 60 
   ExitApp
  }
vTmp := SubStr(args[1],1,1)
If ((vTmp = &quot;/&quot;) and (vCountArgs &gt;= 2))
   {
    args[1] := SubStr(args[1],2,StrLen(args[1])-1)
    vTmp0 := ;
    i := vCountArgs - 1
    loop %i%
     {
        if (!vTmp0)
            vTmp0 := args[A_Index+1]
          else
            vTmp0 := vTmp0 &quot; &quot; args[A_Index+1]
      }
     args[2] := vTmp0
     vCountArgs := 2
    }
If ((vTmp != &quot;/&quot;) and (vCountArgs &gt;= 2)) ; пробел  в имени директорий (без ключа) - собираем их в одну
     {
      vTmp0 := ;
      loop %vCountArgs%
       {
        if (!vTmp0)
            vTmp0 := args[A_Index]
          else
            vTmp0 := vTmp0 &quot; &quot; args[A_Index]
       }
      args[1] := vTmp0
      vCountArgs := 1   
  }
If ((vTmp != &quot;/&quot;) and (vCountArgs = 1)) ; без ключа и без пробелов в имени пути
     {
     vCountArgs := 1
     }  
cWav  := &quot;wav&quot;
cMid  := &quot;mid&quot;
cMp3  := &quot;mp3&quot;
ckWav := &quot;w&quot;
ckMid := &quot;m&quot;
ckMp3 := &quot;3&quot; 
vPath := ;
vArg  := ;
vWav  := ;
vMid  := ;
vMp3  := ;
vChoice  := ;
vTxtFF := ;
vTChoice := [&quot;&quot;]
arWavWin := [[&quot;&quot;,&quot;&quot;,&quot;&quot;]]
If (vCountArgs = 1)
   {
   vPath := args[1]
   vWav  := cWav
   vMid  := cMid
   vMp3  := cMp3
   }
If (vCountArgs = 2)
   {
    vArg  := args[1]
    vPath := args[2]
   }
if (SubStr(vPath, StrLen(vPath),1) != &quot;\&quot;)
    vPath :=  vPath &quot;\&quot;
vPath := vPath &quot;*.*&quot;
if (vArg)
   {
    i := StrLen(vArg)
    loop %i%
     {
      if (SubStr(vArg, A_Index,1) = ckWav)
           vWav := cWav 
      if (SubStr(vArg, A_Index,1) = ckMid)
           vMid := cMid 
      if (SubStr(vArg, A_Index,1) = ckMp3)
           vMp3 := cMp3            
     }
   }
if (vWav)
   vTxtFF := vTxtFF vWav
if ((vMid) and (!vTxtFF))
   vTxtFF := vTxtFF vMid
if ((vMid) and (vWav))
   vTxtFF := vTxtFF &quot;, &quot; vMid
if ((vMp3) and (!vTxtFF))
   vTxtFF := vTxtFF vMp3
if ((vMp3) and ((vWav) or (vMid)))
   vTxtFF := vTxtFF &quot;, &quot; vMp3
vTxt := &quot;Подождите, идёт поиск файлов...&quot;    
SplashTextOn,400, , %vTxt%
i := 0
Loop, %vPath% ,0,1
 {
  if (((A_LoopFileExt = vWav) and (vWav)) 
      or ((A_LoopFileExt = vMid) and (vMid))
      or ((A_LoopFileExt = vMp3) and (vMp3)))
    {
     arWavWin[++i,1] :=  A_LoopFileDir &quot;\&quot; ;пишем путь
     arWavWin[i,2]   :=  SubStr(A_LoopFileName, 1,StrLen(A_LoopFileName)-4) ;пишем имя
     arWavWin[i,3]   :=  A_LoopFileExt ;пишем расширение
     vTChoice[i]  := A_LoopFileName 
    }
 } 
SplashTextOff
if (!i)
  {
     msgbox % 0+16 
           ,% &quot;Ошибка&quot;
           ,% &quot;Не найдено ни одного аудио-файла &quot; vTxtFF cEsc2LF &quot;Проверьте путь/входной параметр&quot;
           ,% 15 
  ExitApp
  }
arWavWin[i+1] := 0
vChoice := vTChoice[1] &quot;|&quot;
j := 1  
loop %i%
 vChoice := vChoice &quot;|&quot; vTChoice[++j]
clipboard = ; 
vCounS := 1
fPathSF := true
fExtF   := true
fChoice := true
vTChoiceSound := 0 
vWlb := 304
vWShow := 340
vTxtFF := &quot;Найдено &quot; i &quot; файлов (&quot; vTxtFF &quot;)&quot;
Gui, New, -maximizebox +minimizebox,Результаты поиска
Gui, font, s12
Gui, Add, Text, Center x12 y14 w294 h40 , Поиск закончнен `n %vTxtFF%
Gui, font, s11
Gui, Add, ListBox, HWNDhListBox x18 yp+60 w%vWlb% h435 gChoice vChoiceSound AltSubmit, %vChoice%
Gui, font, s10
Gui, Add, Button, x8 y520 w130 h30 Default gOk AltSubmit, В буфер обмена
Gui, Add, Button, HWNDhPath x139 y520 w80 h30 gPathSF AltSubmit, С путём
Gui, Add, Button, HWNDhExt x220 y520 w120 h30 gExtF AltSubmit, С расширением
Gui, Add, Button, x8 y558 w130 h38 gBufT AltSubmit, Содержимое `n Буфера Обмена
Gui, Add, Button, x225 y565 w110 h30 gCancel AltSubmit, Выйти
Gui, Show, x408 y118 h600 w%vWShow%
Return

lToolTip:
cYabs := 5
cXabs := 10
MouseGetPos vtXpos,vtYpos,, hVarControl, 2
vYw := abs(vtYpos - vsYpos)
if ((hListBox=hVarControl) and (vYw&lt;cYabs))
   {
    if (fToolTip=false)
       {
        vYwTmp := vYw
        vXw    := vtXpos
        fToolTip := true
        ToolTip  %vTWav%
       }     
     else if ((fToolTip) and  ((vYwTmp!=vYw) or (abs(vXw-vtXpos)&gt;cXabs)))
           {
            ToolTip  %vTWav%
            fToolTip := false
           }            
       else
        fToolTip := true  
   }
 else
  {
    ToolTip
    fToolTip := false
  }
return

PathSF:
fPathSF := !fPathSF 
 if (fPathSF) 
     GuiControl, , %hPath%, С путём
    else 
     GuiControl, , %hPath%, Без пути     
Return

ExtF:
fExtF := !fExtF 
 if (fExtF) 
     GuiControl, , %hExt%, С расширением
    else 
     GuiControl, , %hExt%, Без расширения    
Return

BufT:
 gosub StopPlay
 if (fSpText)
   {
     SplashTextOff
     fSpText := false
     return
   }
 fSpText := true
BufTOK:
 cTbf := &quot;Содержимое Буфера Обмена&quot;
 vEndST := &quot;---------------------------&quot; cEscLF &quot;Нажмите ESC для закрытия&quot; cEscLF &quot;---------------------------&quot; cEscLF
 SplashTextOn, 1024
             , 19*vCounS+50
             , %cTbf%
             , %vEndST% %clipboard%
 WinMove %cTbf%,,0,0
 WinSet AlwaysOnTop,on,Результаты поиска
Return


Choice:
 gosub StopPlay
 Gui, Submit, NoHide
 if (vTChoiceSound != ChoiceSound)
     {
      vTChoiceSound := ChoiceSound
      fChoice := true
     } 
  vWav := arWavWin[ChoiceSound,1] arWavWin[ChoiceSound,2] &quot;.&quot; arWavWin[ChoiceSound,3]
 vTWav := vWav 
 MouseGetPos vsXpos, vsYpos
 SetTimer lToolTip,10
 if (fChoice)
      SoundPlay  %vWav%
 fChoice := !fChoice
 fToolTip := false
 gosub lToolTip
return

Ok:
 gosub StopPlay
 Gui, Submit, NoHide
 vTmp := ;
 if (fPathSF)
     vTmp :=  arWavWin[ChoiceSound,1]
 vTmp := vTmp arWavWin[ChoiceSound,2]
 if (fExtF)
     vTmp := vTmp &quot;.&quot; arWavWin[ChoiceSound,3] 
 clipboard := clipboard vTmp cEscCRLF
 vCounS++
 if (fSpText)
     gosub BufTOK 
return


GuiEscape:
 if (fSpText)
    {
      SplashTextOff
      fSpText := false
    }
   else
      Gosub GuiClose
return 


StopPlay: 
 vWav := arWavWin[0,1] 
 SoundPlay  %vWav%   ;остановка проигрывания
return

 
GuiClose:
Cancel:
 SplashTextOff
 Gui, Cancel
 ExitApp
return

lHelp:
vHelp := &quot;Программа для поиска аудио-файлов wav,mid и mp3`n&quot;
vHelp := vHelp &quot;и сохранения результаов в буфере обмена.`n&quot; 
vHelp := vHelp &quot;`n&quot;
vHelp := vHelp &quot;Пример запуска: fndwav.exe c:\windows`n&quot;
vHelp := vHelp &quot;`n&quot;
vHelp := vHelp &quot;Фунции программы:`n&quot;
vHelp := vHelp &quot;- поиск файлов;`n&quot;
vHelp := vHelp &quot;- построение списка файлов;`n&quot;
vHelp := vHelp &quot;- проигрывание любого файла из списка;`n&quot;
vHelp := vHelp &quot;- сохранение имен файлов в буфере обмена.`n&quot;
vHelp := vHelp &quot;`n&quot;
vHelp := vHelp &quot;Описание входных параметров.`n&quot;
vHelp := vHelp &quot;fndwav.exe [/Какие файлы искать] Путь поиска`n&quot;
vHelp := vHelp &quot;`n&quot;
vHelp := vHelp &quot;Первый параметр:`n&quot;
vHelp := vHelp &quot;- отсутствует - поиск  аудио-файлов wav,mid и mp3;`n&quot;
vHelp := vHelp &quot;- /w - только файлы waw;`n&quot;
vHelp := vHelp &quot;- /m - только файлы mid;`n&quot;
vHelp := vHelp &quot;- /3  - только файлы mp3.`n&quot;
vHelp := vHelp &quot;Допустима комбинация в любой последовательности:`n&quot;
vHelp := vHelp &quot;Искать файлы wav и mp3 в папке c:\windows`n&quot;
vHelp := vHelp &quot;- fndwav.exe /w3 c:\windows`n&quot;
vHelp := vHelp &quot;- fndwav.exe /3w c:\windows`n&quot;
vHelp := vHelp &quot;`n&quot;
vHelp := vHelp &quot;Второй параметр:`n&quot;
vHelp := vHelp &quot;- не проверяется валидность пути;`n&quot;
vHelp := vHelp &quot;- возможно запись c:\windows или c:\windows\ `n&quot;
vHelp := vHelp &quot;`n&quot;
vHelp := vHelp &quot;Программа написана на языке AutoHotKey.`n&quot;
vHelp := vHelp &quot;Автор: Indomito`n&quot;
return</code></pre></div></div></div><p> не нужное убрать.</p>]]></content>
			<author>
				<name><![CDATA[Indomito]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27285</uri>
			</author>
			<updated>2014-05-09T08:48:21Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=82813#p82813</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Включение\Выключение музыки]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=82811#p82811" />
			<content type="html"><![CDATA[<p>Все как просил. Простой исходник и без ссылок... <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[cmdz]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32211</uri>
			</author>
			<updated>2014-05-09T08:41:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=82811#p82811</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Включение\Выключение музыки]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=82810#p82810" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>tuma4ok пишет:</cite><blockquote><p>Если можете помогите. Что мне нужно: Мне нужно что бы когда галочка НЕ стоит, музыка играет, а когда галочка СТОИТ музыка не играет. И когда галочку снимаешь повторно, музыка играет дальше, а не с начала. Кто может помогите, напишите исходник простой. Ссылки на темы просьба не кидать</p></blockquote></div><div class="codebox"><pre><code>GUI, -Caption
GUI, Add, CheckBox, w32 h32 gPause
GUI, Show, w35 h42
Loop
{
 SoundBeep 524,  400 
 SoundBeep 416,  400 
 SoundBeep 393,  400 
 SoundBeep 350,  400 
 SoundBeep 312,  200 
 SoundBeep 393,  200 
 SoundBeep 294,  200 
 SoundBeep 312,  200 
 SoundBeep 262,  400 
 SoundBeep 393,  200 
 SoundBeep 416,  200 
 SoundBeep 393,  400 
 SoundBeep 312,  200 
 SoundBeep 294,  200 
 SoundBeep 262,  400 
 SoundBeep 247,  200 
 SoundBeep 262,  200 
 SoundBeep 294,  600 
 SoundBeep 247,  200 
 SoundBeep 197,  400 
 SoundBeep 393,  200 
 SoundBeep 416,  200 
 SoundBeep 393,  400 
 SoundBeep 371,  200 
 SoundBeep 393,  200 
 SoundBeep 588,  400 
 SoundBeep 623,  200 
 SoundBeep 588,  200 
 SoundBeep 524,  1200 
 SoundBeep 524,  200 
 SoundBeep 494,  200 
 SoundBeep 588,  400 
 SoundBeep 524,  200 
 SoundBeep 416,  200 
 SoundBeep 350,  400 
 SoundBeep 416,  200 
 SoundBeep 524,  200 
 SoundBeep 393,  600 
 SoundBeep 312,  200 
 SoundBeep 262,  400 
 SoundBeep 393,  200 
 SoundBeep 416,  200 
 SoundBeep 393,  400 
 SoundBeep 247,  200 
 SoundBeep 294,  200 
 SoundBeep 393,  400 
 SoundBeep 294,  200 
 SoundBeep 312,  200 
 SoundBeep 262,  1200
} 

Pause::Pause, , 1</code></pre></div>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2014-05-09T08:04:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=82810#p82810</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Включение\Выключение музыки]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=82807#p82807" />
			<content type="html"><![CDATA[<p><strong>tuma4ok</strong> плиз перевод в студию <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Indomito]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27285</uri>
			</author>
			<updated>2014-05-09T07:50:21Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=82807#p82807</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Включение\Выключение музыки]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=82802#p82802" />
			<content type="html"><![CDATA[<p>Какая галочка, откуда музыка?</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2014-05-08T21:53:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=82802#p82802</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Включение\Выключение музыки]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=82799#p82799" />
			<content type="html"><![CDATA[<p>Если можете помогите. Что мне нужно: Мне нужно что бы когда галочка НЕ стоит, музыка играет, а когда галочка СТОИТ музыка не играет. И когда галочку снимаешь повторно, музыка играет дальше, а не с начала. Кто может помогите, напишите исходник простой. Ссылки на темы просьба не кидать</p>]]></content>
			<author>
				<name><![CDATA[tuma4ok]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32022</uri>
			</author>
			<updated>2014-05-08T20:33:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=82799#p82799</id>
		</entry>
</feed>
