积极答复者
怎样在C#下实现以管理员身份调用cmd

问题
答案
-
Hi 李仁宾,
ProcessStartInfo实例的Verb属性来源于实例的Verbs属性, Verbs是一个string的数组. 这个数组是取决于FileName的指定文件的扩展名. 你可以使用这个简单的代码来看下Verbs数组里的值.
ProcessStartInfo Info = new ProcessStartInfo();
Info.FileName = "cmd.exe";
Info.Arguments = "/c C:\\Windows\\System32\\cmd.exe";
Int32 i = 0;
foreach (String verb in Info.Verbs)
{
// Display the possible verbs.
Console.WriteLine(" {0}. {1}", i.ToString(), verb);
i++;
}
详细请参考: http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.verb.aspx
以及: http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.verbs.aspx
希望对有你有帮助.
Best Regards,
Alexander Sun [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 李仁宾 2012年4月16日 14:46
全部回复
-
你看下这个帖子:这里有你要的答案
http://blog.csdn.net/zx13525079024
- 已建议为答案 ThankfulHeartModerator 2012年4月8日 6:23
- 取消建议作为答案 李仁宾 2012年4月9日 4:59
-
Hi 李仁宾,
首先,如果不是Administrator组下的帐号是肯定不能运行需要Administrator权限的程序的. 权限升级时UAC的行为和Local Security Policy有关, 可以通过这个方式来在不降低UAC级别的情况下避免UAC的弹出, 前提是必须是Administrator group帐号里的成员:
- 开始>>运行>>输入” secpol.msc”.
- 展开Local Policies>>点击Security options.
- 在右侧找到并双击 ”User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode”.
- 在下拉菜单中选择 ”Elevate without prompting”.
- 点击 Apply.
注意: 建议在调试程序之后还原成原来的设置.
Thanks,
Alexander Sun [MSFT]
MSDN Community Support | Feedback to us
-
Hi 李仁宾,
ProcessStartInfo实例的Verb属性来源于实例的Verbs属性, Verbs是一个string的数组. 这个数组是取决于FileName的指定文件的扩展名. 你可以使用这个简单的代码来看下Verbs数组里的值.
ProcessStartInfo Info = new ProcessStartInfo();
Info.FileName = "cmd.exe";
Info.Arguments = "/c C:\\Windows\\System32\\cmd.exe";
Int32 i = 0;
foreach (String verb in Info.Verbs)
{
// Display the possible verbs.
Console.WriteLine(" {0}. {1}", i.ToString(), verb);
i++;
}
详细请参考: http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.verb.aspx
以及: http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.verbs.aspx
希望对有你有帮助.
Best Regards,
Alexander Sun [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 李仁宾 2012年4月16日 14:46