Скрыть окно на process.start с именем пользователя и паролем
У меня есть следующий код, вставленный в консольное приложение:
Process delete = new Process();
startInfo.FileName = "schtasks.exe";
startInfo.WorkingDirectory = @"C:\Windows\System32\";
startInfo.UserName = @"AdminUser";
startInfo.Domain = @"mydomain";
startInfo.Password = encryptedPassword;
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
startInfo.RedirectStandardOutput = true;
startInfo.Arguments = @" /delete /s 192.168.1.5 /tn Task1 /F";
delete.StartInfo = startInfo;
delete.Start();
delete.WaitForExit();
delete.Close();
Этот код работает нормально, но открывается новое окно. Я понимаю, что это происходит потому, что я запускаю процесс с явным именем пользователя и паролем, но мне это действительно нужно, и мне также нужно скрыть окно, есть ли возможность сделать это? В качестве альтернативы мне нужно выполнить "schtasks" в качестве администратора удаленной машины без использования параметров /U и /P для "schtasks", потому что мне нужно их зашифровать, так что на самом деле единственная возможность - использовать Securestring (как я это делаю в мой код). Вы можете мне помочь?
1 ответ
Я думаю, что это можно решить, установив WindowStyle
в Hidden
:
startInfo.WindoStyle = ProcessWindowStyle.Hidden;