AxMsRdpClient9关闭登录对话框

时间:2014-03-31 10:27:38

标签: c# .net rdp mstsc

我正在使用c#编写rdp客户端。简单的例子:

        AxMsRdpClient9NotSafeForScripting c = new AxMsRdpClient9NotSafeForScripting();
        Form1.Controls.Add(c);
        c.Server = s.ip;
        c.UserName = s.pass;
        c.AdvancedSettings9.ClearTextPassword = s.pass;
        c.Connect();

因此,当我尝试连接到Win7或更少时,它工作得很完美,但是当我尝试连接到Win Server 2012时,rdpclient没有连接并且不会返回任何错误。使用此选项时,连接到win服务器可以正常工作:

c.AdvancedSettings9.EnableCredSspSupport = true;

但是使用此选项,当我尝试使用无效凭据连接到win服务器时,它会显示login \ pass字段的对话框,我无法以编程方式解决,我必须手动执行#34;#" 34 ;. 所以问题是:如何在没有

的情况下连接到win服务器
c.AdvancedSettings9.EnableCredSspSupport = true;

或如何在代码中解除login \ pass对话框?

2 个答案:

答案 0 :(得分:2)

解决方案是将AllowPromptingForCredentials设置为false。

答案 1 :(得分:0)

以下是完成@davyjohnes答案的其他详细信息:

....
Form1.Controls.Add(c);
var ocx = c.GetOcx() as MSTSCLib.IMsRdpClientNonScriptable5;
ocx.AllowPromptingForCredentials = false;
c.Server = s.ip;
....