0

我用 C# WPF 和 VS2012 编写了一个应用程序,它使用 RDC 控件 (AxMSTSCLib.AxMsRdpClient7) 连接到远程服务器。

该应用程序在 Win 7 中运行良好,但是当我将它安装在 Windows 8 机器上时,它一连接到远程服务器,它就会自行断开连接。我们所能看到的只是应用程序主屏幕的闪烁。

我检查了 IMsTscAxEvents_OnDisconnectedEvent 并且返回的错误代码 = 1 根据表格显示 {1,“本地断开连接。这不是错误代码。”},

我尝试在 Win 7 兼容模式下运行,但没有任何改变。

我已经在分隔位置的 2 个不同的 Win 8 盒子中对其进行了测试,问题是一样的。在所有 Win 7 中,它都可以正常工作。

在 Win 8 机器中,如果我尝试手动连接,使用应用程序和操作系统附带的 RDC 控件的相同凭据,它会按预期工作而不会断开连接。会不会是我在应用程序中使用的 AxMSTSCLib.AxMsRdpClient7 在 Win 8 中不受支持?

有人知道吗?目前我不知道该走哪条路。

这是代码。RDC 控件托管在表单用户控件上

// 此行在其他地方执行。放在这里仅供参考。私有 AxMSTSCLib.AxMsRdpClient7 rdc;

       public void ConnectToServer(string UserName, string Password, string ServerIP)
        {
            int portNumber = 3389; // 5306  
            try
            {
                if (ServerIP.Contains(":"))
                {
                    portNumber = Convert.ToInt16(ServerIP.Substring(ServerIP.IndexOf(":") + 1, 4));
                    rdc.Server = ServerIP.Remove(ServerIP.IndexOf(":"));
                }
                else
                {
                    rdc.Server = ServerIP;
                }
                rdc.UserName = UserName;
                rdc.AdvancedSettings7.RDPPort = portNumber;
                rdc.AdvancedSettings7.RedirectPrinters = true;
                rdc.AdvancedSettings7.RedirectClipboard = true;
                rdc.AdvancedSettings7.RedirectSmartCards = true;
                rdc.AdvancedSettings7.AuthenticationLevel = 2;

                IMsTscNonScriptable secured = (IMsTscNonScriptable)rdc.GetOcx();
                secured.ClearTextPassword = Password;
                rdc.Connect();
            }
            catch (Exception Ex)
            {
                MessageBox.Show("Error connecting to gateway server" + "\n Error:  " + Ex.Message, "Error Connecting", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
4

0 回答 0