Я занимаюсь разработкой службы VB.NET для Windows, которая постоянно проверяет базу данных BMS на наличие новых аварийных сигналов и делает телефонные звонки для удаленного предупреждения операторов.В настоящее время я использую оболочку .NET TAPI и сборку взаимодействия SAPI 5.3, и я говорю по телефону:
- Инициализация интерфейса TAPI;
- Выполните вызов на номер оператора;
- Возьмите идентификатор устройства waveOut голосового модема
- Установите для голосового выхода идентификатор этого устройства;
- Пусть SAPI сотворит волшебство.
Это все работает нормально, если я компилирую код как консоль Windows или приложение форм, но как только я компилирую и запускаю его как службу Windows, шаг 5 никогда не происходит - голосовой модем вызывает, но молчит;все остальное работает, даже цифровой контроль.Теперь я знаю, что Windows-сервисы не должны взаимодействовать с рабочим столом, поэтому такие вещи, как элементы пользовательского интерфейса и воспроизведение звуков, запрещены, но я изо всех сил пытаюсь найти альтернативу, которая не связана с использованием Wave API и может быть разработана.в разумные сроки.Есть идеи?