17

まず、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);

}

ここに画像の説明を入力

4

1 に答える 1

36

ドメインを指定

processAdmin.Domain = "ドメイン";

于 2014-07-16T10:17:57.393 に答える