私たちのスタジオのさまざまな開発者が使用する一連のツールの一部であるいくつかのアプリケーションがあります。これらのアプリケーションは主に、DOS コマンド シェルを開くコマンド ライン アプリです。これらのアプリは、これらのコマンド ライン アプリの出力とステータスを (ソケット経由で) 追跡する GUI アプリケーションを起動します。
コマンド ライン アプリは、ユーザーがログインしている場合、ワークステーションがロックされている場合 (バッチ ファイルを起動してすぐにワークステーションをロックする場合)、およびログアウトしている場合 (スケジュールされたタスクを介して) に開始できます。私が抱えている問題は、最後の2つのケースにあります。
ユーザーがロックまたはログアウトしているときにこれらのアプリのいずれかが起動すると、これらのコマンドは、出力/ステータスを追跡する GUI ウィンドウを生成します。それは問題ありませんが、ユーザーが自分のワークステーションをロックしているとします。ワークステーションのロックを解除すると、GUI が表示されなくなります。タスク リストを実行していますが、表示されません。次にこれらのユーザーがコマンド ライン アプリの一部を実行すると、GUI は起動されません (既に実行されているため) が、デスクトップには表示されないため、ユーザーには出力が表示されません。
私が探しているのは、ロックされたワークステーションの背後で実行されているか、ユーザーが (スケジュールされたタスクを介して) ログアウトされているかをコマンドライン アプリから伝える方法です。基本的に、ユーザーのデスクトップが表示されずに実行されています。それがわかれば、GUI を起動しなくてもよくなり、多くの問題を防ぐことができます。
テストする必要があるこれらのアプリは、C/C++ Windows アプリケーションです。
これが理にかなっていることを願っています。