2014-04-16 87 views
0

我有下面的代碼插入到一個控制檯應用程序:隱藏窗口,用戶名和密碼

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」作爲遠程機器的管理員,而不使用schtasks的參數/ U和/ P,因爲我需要對它們進行加密,所以afaik唯一的可能是使用Securestring(就像我一樣在我的代碼中)。 你能幫我嗎?

+0

你有沒有得到這個工作? –

回答

1

我認爲這可以通過設置來解決的WindowStyleHidden

startInfo.WindoStyle = ProcessWindowStyle.Hidden; 
+0

不幸的是,不工作。 – maurice85

+0

說明:該代碼是控制檯應用程序的一部分,因此已經打開了一個窗口(並應保持打開直到結束),而由delete.Start啓動的第二個窗口應保持隱藏狀態。 – maurice85

+0

我會看看這個。 –