私は経験豊富な Delphi 開発者であり、アプリケーションがサーバー上で実行され、クライアントのデスクトップに表示されるシームレスなターミナル サービスのようなものを作成したいと考えています。
サーバーで作業している誰かに、実行中のリモート アプリケーションを見られたくない (実行中のプロセスのリストを調べた場合を除く)。
これにどう対処するか、どこから始めればよいか、アプリケーションをサーバーのデスクトップ以外の表面にレンダリングする方法について、私は迷っています。
私は経験豊富な Delphi 開発者であり、アプリケーションがサーバー上で実行され、クライアントのデスクトップに表示されるシームレスなターミナル サービスのようなものを作成したいと考えています。
サーバーで作業している誰かに、実行中のリモート アプリケーションを見られたくない (実行中のプロセスのリストを調べた場合を除く)。
これにどう対処するか、どこから始めればよいか、アプリケーションをサーバーのデスクトップ以外の表面にレンダリングする方法について、私は迷っています。
2008年以降、ターミナルサービス(リモートデスクトップサービスにブランド変更されました)は、まさにあなたが説明したことを行うRemoteAppsを提供します. Citrix (XenApp) は、すべての Windows (サーバー) バージョンでこれを実行できます。そのため、自分で再作成することを決定する前に、これらの製品を確認することをお勧めします.
続行する場合は、このリンクが興味深いかもしれません。これは、「Microsoft のターミナル サービス クライアントを拡張してシームレスな Windows を提供する」というサンプル プロジェクトです。
あなたが説明していることから、Windowsサービス(ターミナルサービスではない)を作成し、プロセス間通信(IPC)システムを使用して、実行可能な「クライアント」アプリケーションにステータス情報を取得することを検討する必要があると思います。ネットワーク上の同じマシンまたは別のマシンのいずれかで、適切なユーザーによって。
私自身、RemObjects SDKを使用してこれを正確に実行します。これにより、クライアントアプリケーションは関数呼び出しを行っているように見えますが、実際には、それらを実装するサーバーに移動します。その後、サーバーは1つ(または複数)のスレッドでジョブを続行でき、すべてのユーザーインターフェイスは、IPCチャネルを使用して何を表示するかを見つけるクライアントで実行されます。