利用mstscax.dll开发远程登录客户端

利用mstscax.dll开发远程登录客户端

分类: MFC   2099人阅读  评论(6)  收藏  举报

最近项目要用到远程登录客户端,类似于windows自带的mstsc.exe的功能,自己在网上找了好久,说是可以在mstscax.dll基础上进行开发,但是找不到比较好的资料,经过自己的摸索,终于成功了。

  • 第一步,mstscax.dl是一个ActiveX控件,需要进行注册,在运行中输入“regsvr32  C:\WINDOWS\system32\mstscax.dll”。
  • 第二步,新建对话框程序,在对话框资源上单击右键,选择【Insert ActiveX Control...】菜单,然后在弹出的界面中选择“Microsoft RDP Client Contorl”。
  • 第三步,设置控件的关联变量,可利用向导完成。
  • 第四步,打开类向导,选择右上角【添加类】按钮,在弹出的下拉列表中选择【类型库中的MFC类】,然后然后在接口列表中选择IMsRdpClientAdvanceSettings6,添加到生成类列表中。
  • 第五步,切换到类视图,打开CMsRdpClientAdvancedSettings6类头文件,注释掉:#import "C://Windows//system32//mstscax.dll" no_namespace 这句代码。
  • 第六步,在对话框的确定按钮响应函数中,添加以下代码

[cpp]  view plain copy
  1. void CRDPTestDlg::OnBnClickedOk()  
  2. {  
  3.     // TODO: Add your control notification handler code here  
  4.     //OnOK();  
  5.     CMsRdpClientAdvancedSettings6 m_MsRdpClientAdvancedSettings(m_rdp.get_AdvancedSettings());    
  6.     m_rdp.put_Server(_T("192.168.0.1"));//远程目标主机的IP  
  7.     m_rdp.put_UserName(_T("test")); //登陆用户名  
  8.     m_rdp.put_DesktopHeight(800);  
  9.     m_rdp.put_DesktopWidth(1200);  
  10.     m_rdp.put_ColorDepth(32);  
  11.     m_MsRdpClientAdvancedSettings.put_Compress(1);  
  12.     m_MsRdpClientAdvancedSettings.put_BitmapPeristence(1);  
  13.     m_MsRdpClientAdvancedSettings.put_ClearTextPassword(_T("BW11"));//登陆密码  
  14.     m_MsRdpClientAdvancedSettings.put_singleConnectionTimeout(20);//连接时延  
  15.     m_rdp.put_ConnectingText(_T("请稍后..."));//连接时显示在界面的文字  
  16.     m_rdp.Connect();  
  17.     GetDlgItem(IDOK)->EnableWindow(FALSE);     
  18. }  

  • 第七步,响应控件的OnDisConnected消息,函数如下
[cpp]  view plain copy
  1. void CRDPTestDlg::OnDisconnectedMstscax2(long discReason)  
  2. {  
  3.     // TODO: Add your message handler code here  
  4.     switch (discReason)  
  5.     {  
  6.     case 0x3:  
  7.         AfxMessageBox(_T("该用户在别处登录,您已经被强制下线,若有疑问,请联系管理员"));  
  8.         break;  
  9.     default:  
  10.         AfxMessageBox(_T("远程连接失败,请重试或联系管理员"));  
  11.         break;  
  12.     }  
  13.       
  14. }  
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值