私は VB.NET Windows サービスを開発しています。これは、BMS データベースで新しいアラームを頻繁にチェックし、オペレーターにリモートで警告するために電話をかけます。現在、.NET TAPI ラッパーと SAPI 5.3 相互運用アセンブリを使用しています。電話で話す手順は次のとおりです。
- TAPI インターフェイスを初期化します。
- オペレーターの番号に電話をかけます。
- 音声モデムの waveOut デバイス ID を取得します
- 音声出力をそのデバイス ID に設定します。
- SAPI に魔法をかけましょう。
コードを Windows コンソールまたはフォーム アプリケーションとしてコンパイルすると、これはすべて正常に機能しますが、Windows サービスとしてコンパイルして実行するとすぐに、ステップ 5 は発生しません。数字の監視も含め、他のすべてが機能します。Windows サービスはデスクトップと対話することになっていないことがわかったので、UI 要素やサウンドの再生などは禁止されていますが、Wave API を使用せずに開発できる代替手段を見つけるのに苦労しています合理的な時間枠で。何か案は?