Что нового

Как отследить какой файл mp3 в данный момент играет(используется?)

Rodik-soft

Новичок
Сообщения
4
Репутация
0
Нужна следущая фишка-я запускаю mp3 в плеере-любом,мне нужно как то отследить что именно его путь в данный момент использует программа-что то на подобие скроблинга last.fm или утилиты filemoon nтолько средствами autoit .Буду премного благодарен за совет. ;) Собственно и не только mp3 - как вообще отслеживать использование программами файлови как получить лист используемых в данный момент файлов?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
622
свой драйвер файловой системы? сильно :smile:
используй FileMon от Марка Русиновича. правда, не знаю, как у него обстоят дела с автоматизацией.
 

VladUs

Скриптер
Сообщения
621
Репутация
181
Как отследить какой файл mp3 в данный момент играет(используется?)
У того же Руссиновича имеется очень хорошая утилита командной строки "Handle".
Она позволяет просматривать открытые файла по маске, допустим .mp3
Если набрать в командной строке
Код:
Handle .mp3
то она выведет все открытые файлы .mp3 на данный момент и какой процесс их использует
Программа консольная, а следовательно, я предполагаю, с ней можно организовать работу через Autoit.
 
Автор
R

Rodik-soft

Новичок
Сообщения
4
Репутация
0
спасибо за handle только вот не пойму как использовать его в функции run() ,я так понимаю должно быть что то типа run(C:\handle.exe Handle .mp3) или как? пробовал что то он нифига мелькнул и все...
 

VladUs

Скриптер
Сообщения
621
Репутация
181
Здесь необходимо организовать работу через функции StdinWrite() и StdoutRead() чтобы читать то что будет выдавать Handle.exe. Посмотрите в поиске, здесь много премеров данной реализации допустим здесь http://autoit-script.ru/index.php?topic=4719.0

Примерно так

Код:
HotKeySet("{ESC}", "_Exit")			  
Local  $sRead

$iPid = Run(@ComSpec & ' /C handle .mp3', '', @SW_HIDE, $STDOUT_CHILD)
While 1
    $sRead &= StdoutRead($iPid)
	 ConsoleWrite($sRead)
    If @error Then ExitLoop
    Sleep(10)
	 
WEnd
 
Func _Exit()
  Exit
EndFunc


У меня файл "Handle.exe" находится в папке С:\Windows
 
Автор
R

Rodik-soft

Новичок
Сообщения
4
Репутация
0
Спасибо вроде работает,только я не пойму почему handle работает одноразово-т.е. он получает список заданных файлов и тут же завершается...
 
Верх