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