문제

I am writing rdp client using c#. Simple example:

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

So, when I try to connect to Win7 or less it works perfect, but when I try to connect to Win Server 2012, rdpclient doesn't connect and doesn't return any errors. Connecting to win server works when I use this option:

c.AdvancedSettings9.EnableCredSspSupport = true;

but with this option, when I try to connect to win server with invalid credentials it shows dialog with login\pass fields, that I can't dissmiss programmatically, I have to do it "by hand". So question is: how can I connect to win server without

c.AdvancedSettings9.EnableCredSspSupport = true;

or how can I dissmiss login\pass dialog in code?

도움이 되었습니까?

해결책

The solution is to set AllowPromptingForCredentials to false.

다른 팁

Here are the additional details to finish @davyjohnes answer:

....
Form1.Controls.Add(c);
var ocx = c.GetOcx() as MSTSCLib.IMsRdpClientNonScriptable5;
ocx.AllowPromptingForCredentials = false;
c.Server = s.ip;
....
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top