2013-12-18 34 views
2

我正在嘗試使用Process.Start()來啓動一個lnk文件。沒有提供證書時很好,但是當我這樣做的時候拋出異常。這裏的示例代碼:當給出憑證時,process.start()拋出win32Exception

這工作得很好

var processStartInfo = new ProcessStartInfo 
{ 
    FileName = @"F:\abc.lnk", 
}; 

using (var process = new Process()) 
{ 
    process.StartInfo = processStartInfo; 
    process.Start(); 
} 

但這代碼拋出一個Win32Exception:「指定的可執行文件是不是這個操作系統平臺的有效應用」。

var processStartInfo = new ProcessStartInfo 
{ 
    FileName = @"F:\abc.lnk", 
    UserName = userName, 
    Password = securePassword, 
    Domain = domain, 
    UseShellExecute = false, 
}; 

using (var process = new Process()) 
{ 
    process.StartInfo = processStartInfo; 
    process.Start(); 
} 

我的操作系統是32位的,程序太

我需要這些憑據,該文件是一個網絡驅動器上。

任何幫助將不勝感激!

回答

0
Process process = new Process(); 
process.StartInfo.FileName = "F:\abc.lnk"; 
process.StartInfo.Arguments = "use \\\\computerName\\share password /user:UserName"; 
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; 
process.StartInfo.UseShellExecute = false; 
process.Start(); 
process.WaitForExit(); 
process.Dispose(); 
+0

我該怎麼用? 「使用\\\\ computerName \\ share」F驅動器在網絡上。我假設它是這樣的:process.StartInfo.Arguments =「use \\\\ computerName \\ share /user:」;? – codebomb

相關問題