如何使用远程桌面ActiveX连接到azure VM?

时间:2012-11-23 22:08:45

标签: azure activex remote-desktop

使用连接参数连接到azure VM时,远程桌面ActiveX不会对connect命令作出反应。 ActiveX窗口保持白色,而不是显示远程桌面会话初始化。如何正确使用远程桌面客户端ActiveX连接到Azure?

.RDP文件样本

full address:s:<cloudservice>.cloudapp.net
username:s:<username>
LoadBalanceInfo:s:Cookie: mstshash=<role>#<roleinstance>

我使用嵌入在WPF WindowsFormsHost中的ActiveX。 (我已经使用另一个LAN Pc进行了测试,并且远程会话已成功建立。(提供服务器,用户名和密码)。

<WindowsFormsHostEx x:Name="m_host" HorizontalAlignment="Stretch"
                    VerticalAlignment="Stretch"
                    FlowDirection="LeftToRight">
  <axMstscLib:AxMsTscAxNotSafeForScripting x:Name="m_remoteDesktop"/>
</WindowsFormsHostEx>

尝试将这些信息嵌入ActiveX中时。命令没有反应。 连接值保持为“2”...并且没有OnConnected,OnDisconnected,OnFatalError,OnLogonError出现。

        m_remoteDesktop.Server = "<cloudservice>.cloudapp.net";
        m_remoteDesktop.UserName = "<username>";
        IMsRdpClientAdvancedSettings settings = m_remoteDesktop.AdvancedSettings as IMsRdpClientAdvancedSettings;
        if (settings != null)
        {
            settings.LoadBalanceInfo = "Cookie: mstshash=<Role>#<RoleInstance>";
            settings.ClearTextPassword = "<rdp pass>";
        }
        m_remoteDesktop.Connect();
        short connected = m_remoteDesktop.Connected;

1 个答案:

答案 0 :(得分:3)

settings.LoadBalanceInfo最后需要“\ r \ n”才能生效。

settings.LoadBalanceInfo = "Cookie: mstshash=<Role>#<RoleInstance>"

settings.LoadBalanceInfo = "Cookie: mstshash=<Role>#<RoleInstance>\r\n"

只需添加即可解决问题。