Я использую Windows 7 home edition. Я хочу заставить свой компьютер ждать определенное количество времени, а затем подать звуковой сигнал в предупреждении прямо перед тем, как он завершит программу. В качестве теста я написал следующий пакетный файл, чтобы проигрыватель Windows Media воспроизводил радио, ждал 10 секунд, затем издавал звуковой сигнал и выключал его:
@echo off
start "_" "C:Program Files (x86)Windows Media Playerwmplayer.exe" "http://www.cpr.org/content_category_templates/listenTemplate/listenClassical48.asx"
sleep 10
@echo ^G
@echo ^G
@echo ^G
@echo ^G
taskkill /im wmplayer.exe /f
Примечание: следуя инструкциям, которые я нашел в другом вопросе на этом сайте," ^G " - это символ, который вы получаете при вводе control + G в командной строке. Это не кажется чтобы появиться на этом сайте, Я заменил его на ^G.
это прекрасно работало. Пока я пытался запустить его автоматически с помощью планировщика задач Windows. Я пробовал это несколько раз, он не издавал звуковой сигнал. Другие функции работали нормально, но звуковой сигнал не был слышен.
скрипт не запускался в окне при запуске планировщиком задач, и я пришел к выводу, что это должно вызвать проблемы с командой echo (ничего не Эхо). Итак, проведя некоторое время в поисках способа вызвать звуковой сигнал, который не включал echo, я в конце концов переписал все это в виде консольной программы VB .NET:
Imports System.Threading
Module Beep
Sub Main()
Dim wmp As New System.Diagnostics.Process
wmp.StartInfo.FileName = "C:Program Files (x86)Windows Media Playerwmplayer.exe"
wmp.StartInfo.Arguments = "http://www.cpr.org/content_category_templates/listenTemplate/listenClassical48.asx"
wmp.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
wmp.Start()
Thread.Sleep(New TimeSpan(0, 0, 10))
Console.Beep()
Console.Beep()
Console.Beep()
Console.Beep()
wmp.Kill()
End Sub
End Module
это работает точно так же - включая тот факт, что он только пищит при вызове вручную. При вызове из планировщика задач он также не подает звуковой сигнал. Я не уверен, что еще попробовать, здесь. Любая помощь будет оценена.