我正在使用CredUIPromptForCredentials提示用户input凭据,然后将其传递给Web服务。
提示符显示“记住我的密码”选项,以便可以使用以前使用的值填充用户名和密码。
出现提示并且预填充凭据时,我无法继续,直到从下拉列表中select“用户名”。
这是我看到的屏幕:
缺less对System.Diagnostics.Process的引用
如何使用c#.net获取计算机运行过程的详细信息?
ASP.NET核心RC2作为linux deamon
带定时器的windows服务
2应用程序最重要的问题
点击确定只会提示示例提示,但如果我从下拉菜单中手动select“Greg”,我可以继续。
以下是我正在使用的代码:
StringBuilder userPassword = new StringBuilder(),userID = new StringBuilder(); CREDUI_INFO credUI = new CREDUI_INFO(); credUI.cbSize = Marshal.SizeOf(credUI); bool save = true; CREDUI_FLAGS flags = CREDUI_FLAGS.ALWAYS_SHOW_UI | CREDUI_FLAGS.GENERIC_CREDENTIALS | CREDUI_FLAGS.SHOW_SAVE_CHECK_Box ; //display password prompt: CredUIReturnCodes returnCode = CredUIPromptForCredentials (ref credUI,this.servername,IntPtr.Zero,userID,100,userPassword,ref save,flags);
*** 作系统是windows 7和Server 2008 R2。
我已经创build了一个完整但简单的示例应用程序,可以从https://docs.Google.com/open?ID=0BxSAZ9JlU2w9VHZWWFBjVEhTNG02N1Q4WkFrUkhDUQ下载以进行testing。
在处理远程连接时要听什么ip? 127.0.0.1还是实际IP?
wasabi阻止Azure缩放收集数据的频率如何?
什么是windows平台的GPS中间驱动程序的等效物?
针对.NET 4.5的WPF,但在应用程序运行时要求安装.NET 3.5的窗口
MSI文件在安装后被复制的位置?
设置save = false可以解决问题。
该复选框默认不会被选中,但是如果选中,则会保存密码,允许用户在后续的尝试中不改变输入值。
我试图回答你的问题,但你自己解决得太快了。
但是,在阅读CredUIPromptForCredentials的文档时,我注意到建议您在windows 7和server 2008上使用CredUIPromptForwindowsCredentials 。
在谷歌搜索中,我发现这个优秀的免费类库包含了几个本地API的包装,包括使用CredUIPromptForwindowsCredentials API显示凭证对话框的完整示例。
我相信你只是想设置userID: userID = new StringBuilder("Greg")
这里有一个在c#中的包装的实现: http : //www.developerfusion.com/code/4693/using-the-credential-management-API/
您可能需要从Environment.Username的用户名。
总结以上是内存溢出为你收集整理的CredUIPromptForCredentials强制手动select用户名全部内容,希望文章能够帮你解决CredUIPromptForCredentials强制手动select用户名所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)