私は win32api.MessageBox を使用してアラートを実行してきました。これは、対話型プロンプトと通常実行されるコードから実行されているアプリで機能しますが、MessageBox がトリガーされたときに Python サービスを構築すると、「ビープ音」が聞こえますが、ボックスは聞こえません。画面。サービスからアラートを表示することはできますか?
1 に答える
5
いいえ、Windows サービスは完全に独立した非表示のデスクトップで実行され、ログオンしているユーザーのデスクトップにはアクセスできません。サービス開発者の観点からは、これを回避する方法はありません。
以前のバージョンの Windows では、サービスを「ユーザー デスクトップとの対話を許可」としてマークすることができましたが、このオプションは XP または Vista で削除されました (どちらか忘れました)。現在、サービスはユーザーのデスクトップと対話できません。
問題の解決策の 1 つは、何らかの IPC メソッドを介してサービスと通信するデスクトップ アプリケーションを用意することです。サービスがユーザーに何らかの状態を警告したい場合、デスクトップ アプリケーションに通知し、通常のメッセージ ボックスを表示します。
于 2008-10-15T08:48:06.653 に答える