什么原因导致AxMSTSCLib的AxMsRdpClient9中的MsRdpClient_OnDisconnected事件发生“内部错误”?

时间:2016-09-20 07:16:10

标签: c# activex rdp mstsc

我有简单的Windows窗体应用程序,其中包含一个ActiveX控件。这是Microsoft RDP客户端控件 - 版本10。 这是表单的构造函数

public ConnectionWindow()
            {
                InitializeComponent();     
                MsRdpClient.Server = "server";
                MsRdpClient.UserName = "Administrator";
                MsRdpClient.Domain = "domain.com";
                IMsTscNonScriptable secured = (IMsTscNonScriptable)MsRdpClient.GetOcx();
                secured.ClearTextPassword = "password";
                MsRdpClient.Connect();                   
            }

我唯一得到的是订阅MsRdpClient_OnDisconnected事件时断开的参数发生的“内部错误”:

private void MsRdpClient_OnDisconnected(object sender, IMsTscAxEvents_OnDisconnectedEvent e)
        {
            var rdp = sender as AxMsRdpClient9;
            var errorString = rdp.GetErrorDescription((uint)e.discReason, (uint)rdp.ExtendedDisconnectReason);
            Console.WriteLine("Disconnected event reason: " + errorString);
        }

我尝试订阅控件中的大多数事件,但我唯一得到的是MsRdpClient_OnAuthenticationWarningDisplayed事件调用,但它没有给我任何信息。

P.S。控件本身只是给出了空白视图。 当通过mstsc连接到remtoe pc时,一切都很好,凭证适合。 有人对此有任何想法吗?

1 个答案:

答案 0 :(得分:0)

应用程序主入口点是一个控制台应用程序。出于某种奇怪的原因,RDP控件需要在主应用程序入口点上调用swal({ title : messagetitle, text : message, type : "warning", showCancelButton : true, confirmButtonColor : "#e54747", confirmButtonText : button, closeOnConfirm : false }).then(function () { //function when Leave is pressed 才能正常工作。