Код ОЧЕНЬ прямолинейный, но я не могу понять, почему это дает сбой. ПОМОЩЬ??!!
Я запускаю это через пакетный файл и даже скопировал файл, который необходимо выполнить, на локальный жесткий диск, думая, что это может быть проблема с разрешением на запуск приложения по сети.
Код: Выделить всё
public static Process ImpersonateProcess(string exe, string args, string Username, string Password)
{
ProcessStartInfo psi = new ProcessStartInfo(exe);
psi.Arguments = args;
psi.UseShellExecute = false;
psi.UserName = Username;
psi.Password = new SecureString();
foreach (char c in Password.ToCharArray())
{
psi.Password.AppendChar(c);
}
Process proc = null;
Console.WriteLine("starting...");
proc = Process.Start(psi);
Console.WriteLine("started");
return proc;
}
В приведенном выше коде я никогда не добираюсь до кнопки «начал». Он выдает ошибку в Process.Start(psi) и сообщение об ошибке «недопустимое имя каталога».
Подробнее здесь: https://stackoverflow.com/questions/777 ... is-invalid
Мобильная версия