Ookii.Dialogs包含一个凭据对话框,该对话框调用合适的CredUIPromptForCredentials或CredUIPromptForWindowsCredentials。
编辑:凭证API的详细信息在http://msdn.microsoft.com/en-us/library/aa374731%28v=VS.85%29.aspx#credentials_management_ui_functions中有所介绍,但从托管代码中实现可能会有些棘手。在调用CredUIPromptForWindowsCredentials之后,您需要调用CredWrite来保存凭据。
[void]Windows.Security.Credentials.PasswordVault,Windows.Security.Credentials,ContentType=WindowsRuntime] (new-object Windows.Security.Credentials.PasswordVault).RetrieveAll() | % { $.RetrievePassword(); $ }
[无返回值]Windows.Security.Credentials.PasswordVault,Windows.Security.Credentials,ContentType=WindowsRuntime (new-object Windows.Security.Credentials.PasswordVault).RetrieveAll() | % { $.RetrievePassword(); $ }
没有 Windows API 可以获取用户密码。密码不存储在 Windows 中。相反,Windows 存储一种单向哈希版本。
您可以使用 WindowsIdentity.GetCurrent() 获取用户名。或者,您可以通过 Environment.UserName 属性获取已登录的用户名。
虽然要更改凭据......祝你好运 :) 这是我对此问题的最佳答案。我认为微软永远不会给我们这样做的能力。