首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RDP客户机- AxHost.InvalidActiveXStateException

RDP客户机- AxHost.InvalidActiveXStateException
EN

Stack Overflow用户
提问于 2014-12-29 13:27:58
回答 1查看 1.5K关注 0票数 3

我使用的应用程序将优化我的工作,通过RDP与我的服务器进行多个连接。在这一点上,我想做一个单一的窗口表单,向我展示我的所有服务器。根据我的适当知识,我想以编程的方式在windows窗体中添加AxMsRdpClient2AxMsTscAxNotSafeForScripting控件。开始时,我有一个Form1,在这里保存我的凭证(IP、USER、PASS),并使用简单的FOR trung将ActiveX客户端添加到我的Form2并连接到服务器。

我现在有个问题。让我们看看下面的代码。

从Form1() >调用

代码语言:javascript
运行
复制
var btt = new RunRDP();
    for (int i = 0; i < 15; i++)
    {
        btt.PozitionMaster();
    } 

RunRDP类:

代码语言:javascript
运行
复制
private static int _count;
private static int _row = 4;
private static int _colum = 4;
private static int _objId;

public void PozitionMaster()
    {
        if (_count != 6)
        {
            UInitializer(_objId++, _row, _colum);
            _row += 196;
            _count++;

        }
        else
        {
            _colum += 196;
            _row = 4;
            _count = 0;
        }
    }

UInitializer函数:

代码语言:javascript
运行
复制
public AxMsRdpClient2 rdpClient;

        public void UInitializer(int id, int x, int y)
        {
            Form2 ippo = new Form2();
            rdpClient = new AxMsRdpClient2();

            rdpClient.UserName = "username";
            rdpClient.Server = "192.168.0.100";
            rdpClient.Height = y;
            rdpClient.Width = x;

            rdpClient.BeginInit();
            rdpClient.CreateControl();


            if (ippo.InvokeRequired)
            {
                ippo.Invoke(new Action(() => ippo.Controls.Add(rdpClient)));
                ippo.Invoke(new Action(() => ippo.Update()));
            }
            else
            {
                ippo.Controls.Add(rdpClient);
            }

            //this.Controls.Add(rdpClient);

            rdpClient.AdvancedSettings2.RDPPort = 3389;
            rdpClient.AdvancedSettings2.ClearTextPassword = "hello_rdp";//     
            rdpClient.ColorDepth = 16;//     
            rdpClient.FullScreen = false;//     

            rdpClient.Connect();    
        }

得到这个错误:

代码语言:javascript
运行
复制
    An unhandled exception of type 'System.Windows.Forms.AxHost.
InvalidActiveXStateException' occurred in AxInterop.MSTSCLib.dll

{"Exception of type 'System.Windows.Forms.AxHost+InvalidActiveXStateException' was thrown."}
EN

Stack Overflow用户

发布于 2014-12-29 14:45:06

在创建本机窗口之前开始使用InvalidActiveXStateException控件时会引发ActiveX。直到您调用ippo.Show();之后才会发生这种情况,移动关键属性赋值,在该语句之后调用方法。

票数 4
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27689826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档