C# WPF MSTSC Active X Control не отображается во время выполнения
Я недавно искал в Интернете, пытаясь найти ответы на вопросы о том, как создать и запустить сеанс MSTSC RDP в WPF, наконец-то получил все, что мне было нужно, создал библиотеку AxMSTSCLib и добавил ее и библиотеку MSTSCLib в качестве ссылки в проект. но после создания пользовательского элемента управления и добавления узла формы Windows при запуске приложения MSTSC Active X Control не отображается.
Если я поменяю элемент управления RDP на что-то вроде TextBlock, он отобразится, так что я знаю, что это не может быть связано с пользовательским элементом управления как таковым. Событие при загрузке пользовательского элемента управления срабатывает и выполняет следующие действия;
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
try
{
AxMsRdpClient9NotSafeForScripting rdp = new AxMsRdpClient9NotSafeForScripting();
//AxMsTscAxNotSafeForScripting rdp = new AxMsTscAxNotSafeForScripting();
//AxMsRdpClient9 rdp = new AxMsRdpClient9();
rdp.CreateControl();
rdp.AdvancedSettings9.AuthenticationLevel = 2;
rdp.AdvancedSettings9.EnableCredSspSupport = true;
rdp.AdvancedSettings9.NegotiateSecurityLayer = false;
rdp.Server = server;
rdp.UserName = "jwilson-hogg";
rdp.DesktopHeight = 768;
rdp.DesktopWidth = 1024;
rdp.Connect();
RDP_Host.Child = rdp as System.Windows.Forms.Control;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + "\n\n" + ex.InnerException, "Error Trying to connect to: " + server);
}
}
Но на самом деле ничего не появляется в приложении. Я гуглил и пытался изменить биты и бобы в коде, некоторые ошибки были выданы, но 9 раз из 10 элемент управления не показывает сеанс MSTSC.
ОБНОВЛЕНИЕ 1: Я попытался переместить строку rdp.CreateControl(), если элемент управления создается на ранней стадии, и теперь я получаю сообщение об ошибке: "System.Windows.Forms.AxHost.InvalidActiveXStateException" произошло в AxMSTSCLib.dll"