mstsc 远程序桌面登录的 c#开发

简介: 远程序桌面登录的.NET开发,可以使用MSTSCLib.dll和MsTscAxWrapper.dll两个转换过的动态库,而无需使用WINDOWS自带的OCX,因为使用OCX开发可以会遇到其它问题。主要代码:public AxMSTSCLib.

远程序桌面登录的.NET开发,可以使用MSTSCLib.dll和MsTscAxWrapper.dll两个转换过的动态库,而无需使用WINDOWS自带的OCX,因为使用OCX开发可以会遇到其它问题。
主要代码:

public AxMSTSCLib.AxMsRdpClient rdpClient;

rdpClient = new AxMSTSCLib.AxMsRdpClient();
rdpClient.Dock = DockStyle.Fill;

        rdpClient.Width = Screen.PrimaryScreen.Bounds.Width;//控件宽度     
        rdpClient.Height = Screen.PrimaryScreen.Bounds.Height;//控件宽度     
        this.Controls.Add(rdpClient);     
        rdpClient.Server = this.StrIP;//服务器地址     
        rdpClient.UserName = this.StrName;     
        rdpClient.AdvancedSettings2.RDPPort = 3389;     
        rdpClient.AdvancedSettings2.ClearTextPassword = this.StrPwd;//密码     
        rdpClient.ColorDepth = 16;//颜色位数     
        rdpClient.FullScreen = true;//是否全屏     

rdpClient.Connect();

了解远程桌面协议 (RDP)
< type="text/javascript">

远程桌面协议 (RDP),用于终端服务器和终端服务器客户端之间的通信。RDP 被封装并在 TCP 加密。

远程桌面协议基于,并是对扩展 T 120 系列的协议标准。 多声道支持协议用于单独的虚拟通道储存的演示文稿数据、 串行设备通信,授权信息、 高加密的数据 (键盘、 鼠标活动) 等。 因为 RDP 是核心 T.share 协议的扩展,多个其他功能将保留作为 RDP,如体系结构支持多点 (多方会话) 所需要的功能的一部分。 multipoint 数据传递允许从应用程序在"实时多方传递而不必向单独 (例如,虚拟 Whiteboards) 的每个会话发送相同的数据的数据。

Windows 终端服务器此第一个版本中但是,我们将集中提供可靠而快速点对点单会话通信。 只有一个数据信道将可以中使用最初发布的终端服务器 4.0 但是,RDP 的灵活性未来的产品中提供大量的功能的空间。

Microsoft 决定实现 RDP 连接用于 Windows NT 终端服务器中的一个原因是它提供用于生成许多更多的功能非常可扩展基础。 这是因为 RDP 用于数据传输 64,000 独立的通道。 但是,当前传输活动只使用单个频道 (对于键盘、 鼠标和演示文稿数据)。

而且,RDP 旨在支持多种不同类型的网络拓扑 (例如 ISDN、 POTS 和多个的 LAN 协议 (如 IPX、 NetBIOS、 TCP/IP,等)。 当前版本的 RDP 将只运行 TCP/IP 上,但客户反馈的其他协议支持可以添加在将来版本。

参与发送和接收数据通过 RDP 堆栈活动实质上是作为七层 OSI 模型标准公共 LAN 网络现在相同的。 数据从应用程序或服务传输经过下协议堆栈 sectioned、 定向到一个通道 (通过 MCS)、 加密、 换行,帧、 打包到在的网络协议和最后解决,会上传送缆线到客户端。 返回的数据相同方式仅中有效反向,使用数据包被去除的它的地址,然后 unwrapped 解密,依此类推直到数据提供给应用程序使用。 协议堆栈修改关键部分发生第四个和第七个层,其中数据的加密、 换行和帧、 定向到一个通道和确定优先级别之间。

为应用程序开发人员的要点之一是,使用 RDP,Microsoft 有抽象立即处理该协议栈的复杂性。 这样,他们只需编写干净的、 精心设计、 良好 32 位应用程序并且 RDP 堆栈由终端服务器和它的客户端连接实现负责其余工作。

有关应用程序在终端服务器上的交互方式以及要注意开发用于 Windows 终端服务器基础结构的应用程序时的详细信息,查看"优化 Windows NT Server 4.0,终端服务器版的应用程序"白皮书。 值得讨论 RDP 堆栈实例中的四个组件是 multipoint 的通信服务 (MCSMUX)、 泛型的会议控制 (GCC)、 Wdtshare.sys 和 Tdtcp.sys。 MCSmux 和 GCC 都在国际电信联合 (ITU) T 120 系列。 MCS 由两种标准组成: 它定义了多点服务的 T.122 和指定数据传输协议的 T.125。 MCSMux 控制通道 (由到协议中的预定义虚拟通道的 multiplexing 数据) 的工作分配、 优先级和分段发送的数据。 实质上,提取多个的 RDP 堆栈到单个实体从该 GCC 的角度。 GCC 负责管理这些多个频道。 在 GCC 允许创建和删除会话连接和控件资源提供 MCS。 每个终端服务器协议 (当前,唯一的 RDP 和 Citrix 的 ICA 支持) 将有一个协议堆栈实例加载 (等待连接请求一个侦听程序堆栈)。 终端服务器设备驱动程序协调和管理 RDP 协议活动和为较小组件组成,UI 传输、 压缩、 加密、 帧和等等的 RDP 驱动程序 (Wdtshare.sys),和传输驱动程序 (Tdtcp.sys) 将打包到基础协议网络 TCP/IP 协议。

RDP 是完全独立的基础的传输堆栈,此案例的 TCP/IP 中的开发的。 在完全独立的传输堆栈的 RDP,表示为它们的客户需要增加了很少或没有重要更改协议的基本部分我们可以添加其他网络协议的其他传输驱动程序。 这些是 RDP 的性能和网络上的 extendibility 的关键元素。

目录
相关文章
|
15天前
|
JSON C# 开发者
💡探索C#语言进化论:揭秘.NET开发效率飙升的秘密武器💼
【8月更文挑战第28天】C#语言凭借其强大的功能与易用性深受开发者喜爱。伴随.NET平台演进,C#持续引入新特性,如C# 7.0的模式匹配,让处理复杂数据结构更直观简洁;C# 8.0的异步流则使异步编程更灵活高效,无需一次性加载全部数据至内存。通过示例展示了模式匹配简化JSON解析及异步流实现文件逐行读取的应用。此外,C# 8.0还提供了默认接口成员和可空引用类型等特性,进一步提高.NET开发效率与代码可维护性。随着C#的发展,未来的.NET开发将更加高效便捷。
32 1
|
11天前
|
Android开发 iOS开发 C#
Xamarin:用C#打造跨平台移动应用的终极利器——从零开始构建你的第一个iOS与Android通用App,体验前所未有的高效与便捷开发之旅
【8月更文挑战第31天】Xamarin 是一个强大的框架,允许开发者使用单一的 C# 代码库构建高性能的原生移动应用,支持 iOS、Android 和 Windows 平台。作为微软的一部分,Xamarin 充分利用了 .NET 框架的强大功能,提供了丰富的 API 和工具集,简化了跨平台移动应用开发。本文通过一个简单的示例应用介绍了如何使用 Xamarin.Forms 快速创建跨平台应用,包括设置开发环境、定义用户界面和实现按钮点击事件处理逻辑。这个示例展示了 Xamarin.Forms 的基本功能,帮助开发者提高开发效率并实现一致的用户体验。
23 0
|
11天前
|
开发者 iOS开发 C#
Uno Platform 入门超详细指南:从零开始教你打造兼容 Web、Windows、iOS 和 Android 的跨平台应用,轻松掌握 XAML 与 C# 开发技巧,快速上手示例代码助你迈出第一步
【8月更文挑战第31天】Uno Platform 是一个基于 Microsoft .NET 的开源框架,支持使用 C# 和 XAML 构建跨平台应用,适用于 Web(WebAssembly)、Windows、Linux、macOS、iOS 和 Android。它允许开发者共享几乎全部的业务逻辑和 UI 代码,同时保持原生性能。选择 Uno Platform 可以统一开发体验,减少代码重复,降低开发成本。安装时需先配置好 Visual Studio 或 Visual Studio for Mac,并通过 NuGet 或官网下载工具包。
19 0
|
11天前
|
前端开发 开发者 Apache
揭秘Apache Wicket项目结构:如何打造Web应用的钢铁长城,告别混乱代码!
【8月更文挑战第31天】Apache Wicket凭借其组件化设计深受Java Web开发者青睐。本文详细解析了Wicket项目结构,帮助你构建可维护的大型Web应用。通过示例展示了如何使用Maven管理依赖,并组织页面、组件及业务逻辑,确保代码清晰易懂。Wicket提供的页面继承、组件重用等功能进一步增强了项目的可维护性和扩展性。掌握这些技巧,能够显著提升开发效率,构建更稳定的Web应用。
34 0
|
2月前
|
SQL 开发框架 前端开发
在C#开发中使用第三方组件LambdaParser、DynamicExpresso、Z.Expressions,实现动态解析/求值字符串表达式
在C#开发中使用第三方组件LambdaParser、DynamicExpresso、Z.Expressions,实现动态解析/求值字符串表达式
|
3月前
|
开发框架 前端开发 .NET
LIMS(实验室)信息管理系统源码、有哪些应用领域?采用C# ASP.NET dotnet 3.5 开发的一套实验室信息系统源码
集成于VS 2019,EXT.NET前端和ASP.NET后端,搭配MSSQL 2018数据库。系统覆盖样品管理、数据分析、报表和项目管理等实验室全流程。应用广泛,包括生产质检(如石化、制药)、环保监测、试验研究等领域。随着技术发展,现代LIMS还融合了临床、电子实验室笔记本和SaaS等功能,以满足复杂多样的实验室管理需求。
63 3
LIMS(实验室)信息管理系统源码、有哪些应用领域?采用C# ASP.NET dotnet 3.5 开发的一套实验室信息系统源码
|
3月前
|
关系型数据库 C# 数据库
技术笔记:MSCL超级工具类(C#),开发人员必备,开发利器
技术笔记:MSCL超级工具类(C#),开发人员必备,开发利器
38 3
|
3月前
|
C# 图形学 C++
使用vscode开发C#+unity没有代码提示问题
使用vscode开发C#+unity没有代码提示问题
48 0
使用vscode开发C#+unity没有代码提示问题
|
2月前
|
监控 测试技术 C#
推荐一个使用 C# 开发的轻量级压测工具
推荐一个使用 C# 开发的轻量级压测工具
|
3月前
|
程序员 C# C++
lpszBlogName C#开发多年中途被迫改行C++但工作中又经常偷偷使用C#的C++程序员
通过AUMID解析出packageFamily,再根据PackageManager解析出安装目录 PackageManager是WinRT的类型,如何在c++中使用WinRT,请参考C++/WinRT 以下代码需要管理员权限才能运行。