Страницы: 1
RSS
Проигрыватель в фоновом режиме VBA, Требуется в макросе запускать проигрывание песни так, чтобы проигрыватель был в фоновом режиме
 
Добрый вечер!

Много прочитала ответов на подобный вопрос, но все равно не получается.
Как скрыть проигрыватель, когда макросом запускаешь проигрывание песни?


На работе играло в фоновом, но зато не могла потом найти, как остановить, а дома открывается проигрыватель и никак не скрывается.
Помогите, пожалуйста.

Пишу и так:

CreateObject("WScript.Shell").Run "C:\Users\1.mp3"

И так:

'Set WshShell = CreateObject("WScript.Shell")
'RetCode = WshShell.Run("C:\Users\1.mp3", 1, False)
 
Здравствуйте Наверно так надо писать
Код
With CreateObject("WScript.Shell")
.Run "C:\Users\1.mp3", 0
End With

Если будет во второй строке 0 в конце опять будете долго искать, тк будет в скрытом режиме, если 2 написать должно быть в свернутом окне.

 

В принципе можно и без объекта WScript.Shell обойтись, использовать функцию Shell. Только тогда придется указывать полный путь к исполняемому файлу плеера. Для Windows 7 плеера так.

Код
Shell "C:\Program Files\Windows Media Player\wmplayer.exe C:\Users\1.mp3", 0
 
Цитата
написал:
Shell "C:\Program Files\Windows Media Player\wmplayer.exe C:\Users\1.mp3", 0
Евгений, добрый день!

Спасибо!

Так всё равно открывается окно с проигрывателем:

Shell "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe C:\2.mp3", 0

И так тоже (и с 0, и с 2). По умолчанию открывается медиаплеер VLC:

With CreateObject("WScript.Shell").Run "C:\Users\1.mp3", 0
End With

А этот (Windows Media Player) открывается в фоновом режиме
Shell "C:\Program Files (x86)\Windows Media Player\wmplayer.exe C\2.mp3", 0

Получается, все дело в самом проигрывателе???

И как теперь остановить воспроизведение??
Изменено: Юлия - 19.05.2024 21:35:34
 
Юлия я к сожалению не программист, а садовод-любитель, поэтому на все вопросы не могу ответить. У меня установлен только один виндовский плеер. Не знаю можно ли все плееры запускать в скрытом режиме.

Если в команде не указан путь к исполняемому файлу плеера то файл открывается в плеере по умолчанию. Выбор плеера по умолчанию в настройках системы «Выбор программ по умолчанию»

Закрыть плеер открытый в скрытом режиме вручную можно через диспетчер задач вкладка «Процессы». Программно умею только, через PID процесса. Но PID возвращает только функция Shell. Надо записать PID при запуске в глобальную переменную или ячейку листа, тогда можно программно закрыть плеер.
Например открыть плеер с записью PID в ячейку
Код
Cells(1) = Shell("C:\Program Files\Windows Media Player\wmplayer.exe C:\Users\1.mp3", vbHide)

Закрыть плеер

Код
Shell "TaskKill /F /PID " & CStr(Cells(1)), vbHide
 
Цитата
написал:
Закрыть плеер открытый в скрытом режиме вручную можно через диспетчер задач вкладка «Процессы». Программно умею только, через PID процесса. Но PID возвращает только функция Shell. Надо записать PID при запуске в глобальную переменную или ячейку листа, тогда можно программно закрыть плеер.Например открыть плеер с записью PID в ячейку
Евгений, спасибо!
Буду пробовать! Я тоже любитель - для детей своих делаю игру:)
Страницы: 1
Наверх