クエリを 24 時間送信するために DELL サーバーで実行する必要がある GUI アプリケーションを作成しました。
アプリケーションがランダムなユーザーによって停止された場合、またはそれが何であれ、実行が停止したことを検出して再度実行するサービス プログラムを作成しました。
問題は、Microsoft が XP 以降の OS サービス ポリシーを変更したため、FindWindow() が正しく動作しない (常に nullptr を返す) ことです。また、私のサービス プログラムには、そのプログラムがプロセス リストにあるかどうかを確認する方法がありません。
「サービスがサービスパネルのデスクトップと対話できるようにする」という解決策をインターネットでいくつか見つけましたが、それはずっと前のことなので、現在のOSバージョンには完全には適合しません。
代わりに IPC を使用する必要がありますか? または他の修正方法はありますか?
CreateProcessAsUser() を使用してサービスからプロセスを実行することもできるため、これを行う方法が必要であると考えています。
アドバイスをいただければ幸いです。
前もって感謝します。