Windows系统文件C:\Windows\System32\mstscax.dl是一个ActiveX控件,使用该控件可以快速的开发远程登陆客户端。
一、开发工具
VS2015,MFC
二、开发步骤
1、 创建一个基于对话框的MFC开发项目
2、 启用MicrosoftTerminal Service Client Control 控件
3、 在对话框上添加MicrosoftTerminal Service Client Control 控件
4、 在MicrosoftTerminal Service Client Control 控件上右击,添加变量m_oxc
5、 添加MFC类CMsRdpClientAdvancedSettings8
6、 修改CMsRdpClientAdvancedSettings8
将
#import "mstscax.dll" no_namespace
改成
#import "mstscax.dll" no_namespace rename("UINT_PTR", "MSTSCAX_UINT_PTR")
7、 在控件上添加一个连接按钮
8、 在连接按钮的响应函数中添加如下代码
CMsRdpClientAdvancedSettings8 advancedSettings = m_oxc.get_AdvancedSettings6(); m_oxc.put_Server(L"192.168.0.10"); //处理机ip m_oxc.put_UserName(L"Administrator"); //处理机用户名 m_oxc.put_DesktopHeight(768); //分辨率 m_oxc.put_DesktopWidth(1024); //分辨率 advancedSettings.put_SmartSizing(TRUE); //根据控件大小缩放显示远程桌面 m_oxc.put_ColorDepth(32); m_oxc.put_ConnectingText(_T("请稍后..."));//连接时显示在界面的文字 m_oxc.Connect(); GetDlgItem(IDOK)->EnableWindow(FALSE); |
三、远程登陆的windows设置
1、 开启远程桌面服务
a) 首先打开桌面“计算机”图标,右键属性打开计算机属性菜单,如下图
b) 打开后,点击高级系统设置,再选择远程,如下图
c) 在远程桌面处,选择第二个选项,如下图
2、 开启免密远程桌面
a) 点击【开始】-【运行】。输入gpedit.msc,回车。
b) 在【组策略】对话框,依次展开【Windows设置】-【安全设置】-【本地策略】-【安全选项】
c) 点击【安全选项】后,在右侧的窗口里找到【帐户:使用空白密码的本地帐户只允许进行控制台登录】一行,右击,选择【属性】
d) 在弹出属性设置窗口中,选择【已禁用】;然后点击【应用】-【确定】,再关闭组策略。这样就算设置完成啦。
四、通过修改注册表开启免密远程登陆
批处理命令如下:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server"\ /v fDenyTSConnections /t REG_DWORD /d 0 /f
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\ /v limitblankpassworduse /t REG_DWORD /d 0 /f