まず、Win7/Win8 などでコードを実行しても問題はありません。この問題は Windows XP にのみ存在します。コードはボタンにあり、基本的に taskmgr.exe を別のユーザーの資格情報として実行します (ローカル管理者の資格情報。これは、ログインできる C# アプリケーションをロードし、cmd.exe/taskmgr.exe をロードするキオスク PC です)。キオスク ユーザーにリンクされた GPO の影響を受けないローカル管理者)。
ただし、XP では、ボタンをクリックすると次のエラーが表示されます。スタブが不正なデータを受信しました。
コード:
private void btnTaskMgr_Click(object sender, EventArgs e)
{
string password = "myPassword";
SecureString secureString = new SecureString();
foreach (char chr in password) secureString.AppendChar(chr);
ProcessStartInfo processAdmin;
processAdmin = new ProcessStartInfo();
processAdmin.UseShellExecute = false;
processAdmin.Password = secureString;
processAdmin.UserName = "admin";
processAdmin.FileName = "taskmgr.exe";
processAdmin.WorkingDirectory = "C:\\Windows\\System32";
Process.Start(processAdmin);
}