私のシナリオは次のとおりです。 ユーザーがログインしてソフトウェアを実行し、後でログオフします。後で、別のユーザーがログインし、前のユーザーが開始したこのソフトウェアと対話したい。各ユーザーがそのプログラムとやりとりできる複数のログインでプログラムを実行するにはどうすればよいですか?
私は、このソフトウェアを実行しているアカウントにすべてログインしているように、このソフトウェアをすべてのユーザーログインで実行し続ける必要があります。これをどうやって行うのですか?
私のシナリオは次のとおりです。 ユーザーがログインしてソフトウェアを実行し、後でログオフします。後で、別のユーザーがログインし、前のユーザーが開始したこのソフトウェアと対話したい。各ユーザーがそのプログラムとやりとりできる複数のログインでプログラムを実行するにはどうすればよいですか?
私は、このソフトウェアを実行しているアカウントにすべてログインしているように、このソフトウェアをすべてのユーザーログインで実行し続ける必要があります。これをどうやって行うのですか?
実行しているもの、使用している言語などを正確に知らなくても、それは分かりにくいです。非常に最初のユーザーがログインするときに開始するには、ユーザーがログインできる標準フォームが表示されます。これをログインフォームとしましょう。
次に、ユーザーが正常にログインすると、アプリケーションが実行できる場所に移動します。これを申請書といいます。
ユーザーがログオフしてもアプリケーションが実行されている場合、アプリケーションは決して実際には閉じられません。ユーザーがログオンすると、ユーザーフォームは非表示になります。アプリケーションの起動とフォームが表示されます。ユーザーがログアウトすると、アプリケーションフォームは次のように表示されます。非表示 - ユーザーフォームが表示されますが、アプリケーションは引き続き実行されます)。次のユーザーが正しい資格情報を持っている場合、既に実行中のアプリケーションを再び表示するだけです。これが理にかなってほしい。
C++やC#を使うことができます。それは良いアイデアですが、私はそれらのウィンドウをログオフする必要がありますし、別のユーザーが来て、自分のWindowsアカウントでログインします。 最初は、自分の資格情報でログインするというアイデアがありました。その後、アプリケーションが実行されている「中央」のユーザーに転送されます。そうすれば、誰もが自分のログインを持ちますが、その1人のユーザーにログインします。問題は、私はその実装方法がわかりません。 – Justin
Windows XPでは、インタラクティブサービス(およびそれらが起動するプロセス)は、必要な方法で動作できます。ユーザがログアウトすると、アプリケーションによっては、特定のウィンドウメッセージをフィルタリングしたり、control-Cの処理を無効にしたりする必要が生じる場合があります。
srvany.exeを開始点として試してみることもできますが、独自のサービスを作成する方法の詳細については、start hereを参照してください。
この方法は、Windows Vista以降では機能しません。
実行する必要のあるソフトウェアは、APIを提供していない第三者によって作成されています。複数のユーザーにまたがって実行されるソフトウェアである必要があります。 編集:申し訳ありませんが、自分のコメントを編集するのではなく、自分のコメントを編集しました。 – Justin