Windows サービスからの GUI アプリケーションの実行
GUI アプリケーションを実行できる Windows サービスの開発は、複雑な作業となる場合があります。 CreateProcess を使用するなどの従来の方法は、グラフィカル インターフェイスを必要とするアプリケーションを扱う場合には不十分です。この記事では、アクティブなデスクトップを特定し、その上で GUI アプリケーションを実行する手法を活用して、この問題の解決策を説明します。
Roger Lipscombe 氏によると、推奨されるアプローチには、WTSEnumerateSessions を使用してアクティブなデスクトップを識別し、CreateProcessAsUser を使用してデスクトップを起動することが含まれます。そのデスクトップ上のアプリケーション。ただし、このソリューションを実装する場合は注意が必要です。
複数のユーザーがターミナル サーバー ホストを共有すると、適切なアクティブ デスクトップを決定する際に複雑さが生じる可能性があります。さらに、ユーザーのデスクトップにアプリケーションがランダムに表示されると、混乱が生じ、ユーザーの生産性に悪影響を及ぼす可能性があります。
これらの懸念を軽減するには、より信頼性の高いアプローチは、グローバル スタートアップ グループ内にクライアント アプリケーションへのショートカットを作成することです。このクライアント アプリケーションはすべてのユーザー セッションに付随し、必要に応じて他のアプリケーションを開始するために利用できます。このアプローチにより、ユーザーの資格情報、セッション、またはデスクトップを操作する必要がなくなります。さらに、管理者はこのショートカットを変更または無効にすることで簡単に管理でき、アプリケーションの展開を合理化し、Windows アプリケーション標準に準拠することができます。
以上がWindows サービスから GUI アプリケーションを確実に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。