我需要检查IISexpress是否已在系统中运行.. 如果没有,那么我需要使用管理员权限启动IISExpress。
为实现这一点,我使用以下代码
var processes = Process.GetProcessesByName(
settings.Default.IISExpressProcessName).ToList();
if (processes.Count != 0) return;
var pass = new SecureString();
foreach (char chr in settings.Default.Password)
{
pass.AppendChar(chr);
}
var iisExpress = Environment.ExpandEnvironmentVariables(
settings.Default.IISExpressExecutableFilePath);
Process.Start(new ProcessStartInfo
{
FileName = iisExpress,
UseShellExecute = false,
CreateNoWindow = true,
Verb = "runas",
//UserName =settings.Default.UserName,
//Password = pass,
Arguments = settings.Default.IISExpressArguments
});
这里的问题是它无法在管理模式下启动IISExpress。
任何人都可以帮助我吗?
答案 0 :(得分:2)
只需将您的代码稍微更改为
即可Process process = Process.Start(new ProcessStartInfo()
{
FileName = IIS_EXPRESS,
Arguments = arguments.ToString(),
RedirectStandardOutput = true,
UseShellExecute = true,
CreateNoWindow = true,
Verb = "runas"
});
这应该做的伎俩