我想顯示標準系統對話框,要求用戶輸入用戶名和密碼來使用這些信息來啓動一個使用這些憑據的進程。從SecureString .NET的CredUIPromptForCredentials
我已經指出CredUIPromptForCredentials
函數顯示對話框。它以字符串形式返回用戶名和密碼。但ProcessStartInfo
結構預計密碼爲SecureString
。
據我所知,我現在可以使用密碼作爲字符串,並將其轉換爲SecureString
字符(不存在單一功能) - 但它會完全破壞SecureString
背後的想法。
所以我想必須有一些方法可以直接接受來自非管理調用的密碼,CredUIPromptForCredentials
在.NET中爲SecureString
。畢竟,我真的不需要以任何方式在我的應用程序中訪問密碼。它只是用來啓動另一個過程,然後可以儘快被遺忘。
那麼CredUIPromptForCredentials
的P/Invoke聲明如何看起來像SecureString
? (我已經開始與一個來自pinvoke.net爲C#。)
更新:哦,如果有人有新功能CredUIPromptForWindowsCredentials
在Windows Vista/7,這將是很酷的例子還有,因爲我現在甚至無法弄清楚如何使用它。
可能重複http://stackoverflow.com/questions/4134882/show-authentication-dialog-in-c-sharp-for-windows-遠景-7) –