Com 使用RDP控件登录到需要网络级身份验证的Vista计算机

Com 使用RDP控件登录到需要网络级身份验证的Vista计算机,com,activex,rdp,nla,Com,Activex,Rdp,Nla,我正在尝试使用mstscax.dll(Microsoft远程桌面控制)登录到需要网络级身份验证的Vista计算机 我已经使用了IMsRdpClientNonScriptable4、imsrdpclientadvancedsetting4和IMsRdpClient6中的所有方法。有一系列函数似乎可以实现这一点 启用CredSSupSupport 提示证书 PromptForCredsOnClient 协商安全层 不幸的是,MSDN文档实际上是无用的,我在网上找不到这些文档的例子。我知道这是可能

我正在尝试使用mstscax.dll(Microsoft远程桌面控制)登录到需要网络级身份验证的Vista计算机

我已经使用了IMsRdpClientNonScriptable4、imsrdpclientadvancedsetting4和IMsRdpClient6中的所有方法。有一系列函数似乎可以实现这一点

  • 启用CredSSupSupport
  • 提示证书
  • PromptForCredsOnClient
  • 协商安全层
不幸的是,MSDN文档实际上是无用的,我在网上找不到这些文档的例子。我知道这是可能的,因为一种叫做“Royal TS”的产品可以通过这种方式连接

一个提示是,“Royal TS”和Vista的远程桌面都会创建一个类似CredUIPromptForWindowsCredentials的授权提示,这让我相信我可能能够使用这样的函数来获取凭据,然后可能使用PublisherCertificateChain来告诉RDP


任何想法都会很有帮助。

我从未尝试过做你正在做的事情,但我建议你看看下面的文章:


这些项目使用mstscax.dll。

因此,如果其他人发现:


需要做的就是EnableCredSspSupport=true,我遇到的问题是我手动加载mstscax.dll,我使用的版本支持IMsRdpClientNonScriptable4接口,但根本不起作用。如果您只是正常加载控件,只需设置EnableCredSSupSupport=true即可正常工作。

此属性可能对您有所帮助

RDPControl.AdvancedSettings8.EnableCredSspSupport=true

此外,它还取决于您的操作系统是否支持网络级身份验证


参考()

谢谢!我已经看了大约一个小时了,这可能又节省了我几个小时。