17

首先,在Win7/Win8等上执行代码没有问题。这个问题只存在于Windows XP上。代码在一个按钮中,基本上将 taskmgr.exe 作为另一个用户凭据运行(本地管理员凭据,这是一个 Kiosk PC,它加载一个可以登录的 C# 应用程序,然后加载 cmd.exe/taskmgr.exe 作为本地管理员不受链接到 Kiosk 用户的 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 回答