ユーザーが自分のアプリケーション (Win XP では C#.NET 4) を実行しようとしたときに、"Run As" フォームをポップアップして、他のユーザーとして簡単にログインできるようにする必要があります。これは、アプリケーション自体 (C# コード内) または他の先行するバッチ/exe ファイル (「ランチャー」) 内などにあります。このフォームをポップする方法が見つかりませんでした。どうすればそれができますか?
ありがとう。
ユーザーが自分のアプリケーション (Win XP では C#.NET 4) を実行しようとしたときに、"Run As" フォームをポップアップして、他のユーザーとして簡単にログインできるようにする必要があります。これは、アプリケーション自体 (C# コード内) または他の先行するバッチ/exe ファイル (「ランチャー」) 内などにあります。このフォームをポップする方法が見つかりませんでした。どうすればそれができますか?
ありがとう。
マニフェストで を使用<requestedExecutionLevel level="requireAdministrator"/>すると、アプリケーションを強制的に管理者として実行できます。ただし、これには RunAs ダイアログは含まれません。ショートカットから設定を見ると、これを処理するオプションがないことがわかります。
現在のユーザーが管理者権限を持っている場合、説明されている設定は、ユーザーに管理者として実行するように求めるだけです。ただし、現在のユーザーがこの権限を持っていない場合は、ユーザーに管理者アカウントの詳細を入力するように求められます。これは、探しているものに近いと思います。
これを行う場合の最善の策は、CredUIPromptForWindowsCredentialsを呼び出すブートストラップ プロセスを作成することです。これにより、ユーザーに資格情報の入力を求めるダイアログが作成されます。資格情報を取得したらProcess.Start、CredUIPromptForWindowsCredentials が返したユーザー名とパスワードを取得するオーバーロードを使用します。少しの相互運用が必要です。