私は現在ログインしているユーザーを偽装し、代わりに(UIアプリケーションを含む)アプリケーションを起動できるWindowsマシン上でシステムサービスを実行しています。Windowsのログオンが完了したら何かを実行するには?
ユーザーが既に対話セッションにログオンしていて、デスクトップが作成されているなどの処理がうまくいきます。
サービスの起動は自動であるため、再起動するたびに自動的に開始されます。サービスが開始された直後に何らかのプログラム(UIアクセスが必要)を実行しようとすると、そのプログラムは失敗する可能性があります。おそらく、自動処理がまだ進行中で、デスクトップがまだ作成されていないなどの理由で失敗する可能性があります。
サービスが「早期」に開始された場合、どのようにしてインタラクティブセッションが完全に初期化されるのを待つことができますか?
サービスを「遅く」開始できますか?シェルが準備完了し、UIアプリケーションを起動するのが安全なときにサービスの起動を遅らせるために使用できるレジストリキー、フォルダ、またはその他のものはありますか?
ありがとうございました。ソリューション2がうまく動作することがわかりました(私はschtasks.exeを使ってプログラムでそのONLOGONタスクを作成/削除しています)。 – Netspirit