管理远程 Windows 剪贴板

(转) 安装远程组件 .NET 剪贴板 API 构建远程剪贴板处理程序 远程剪贴板客户端 小结  当 DCOM 在若干年前登上历史舞台时,用于演示其功能的最常用示例之一就是远程剪贴板管理器。通过使用 DCOM 编程模型,一个组件能够读取和写入存储在另一台计算机上、但连接到同一网络的剪贴板内容。(当然,只有在安全设置允许的情况下才能生效。)但是,当 DCOM 提供基础
摘要由CSDN通过智能技术生成
(转)

 安装远程组件 
.NET 剪贴板 API 
构建远程剪贴板处理程序 
远程剪贴板客户端 
小结


 

当 DCOM 在若干年前登上历史舞台时,用于演示其功能的最常用示例之一就是远程剪贴板管理器。通过使用 DCOM 编程模型,一个组件能够读取和写入存储在另一台计算机上、但连接到同一网络的剪贴板内容。(当然,只有在安全设置允许的情况下才能生效。)

但是,当 DCOM 提供基础结构以构建到系统组件(例如剪贴板)的远程访问时,无论是 Windows 还是 DCOM 都无法提供能够直接对剪贴板进行远程访问的 API。开发人员可以利用的技巧是以本地代理与远程存根之间的交互为基础的。应用程序调入本地代理,进而在网络传输层上序列化该调用,并将其传送到远程主机。然后,该应用程序宿主将剪贴板处理程序组件的一个本地副本实例化,以对 Windows 本地副本的剪贴板进行读取和写入操作。

Microsoft.NET Framework 提供了 Clipboard 类来包装系统剪贴板上的主要操作。该 Clipboard 类作为 Windows 窗体基础结构的一部分,在 System.Windows.Forms 命名空间中进行声明。该类上的方法允许您在单个应用程序的上下文中获得并设置剪贴板的当前内容。

我的一位客户要构建一个不使用剪贴板的 ASP.NET 电子商务站点。然而,该团队中的一名开发人员意识到,负责填写后端表格的人员需要持续不断地在计算机间传送大量数据(大部分为纯文本)。他们找到的最快方法是创建能够跨网络共享的临时文本文件。尽管可以接受这个特定技巧,但整个过程都不太智能。特别是,文本首先会在 Microsoft Word 或 Microsoft Internet Explorer 中突出显示,然后被复制到剪贴板,接着再粘贴到一个新的 Notepad 文档中。最后,该文档被拖放到网络文件夹中。在具备了良好的意志和新的 DCOM 存储器后,有悟性的开发人员会想到,一个定制的远程剪贴板查看器和管理器可以更快、更有效地完成工作。

MIissues0309CuttingEdgefig01

图 1 剪贴板查看器

剪贴板查看器(请参见图 1)是一个旧的 Windows 附件,它不再出现在开始菜单中,但是依然可以作为 clipbrd.exe 从 System32 文件夹中使用。剪贴板查看器充当所有连接到网络的计算机上的剪贴板的管理器。如果当前的安全设置允许,您就可以连接到 Windows 的一个远程实例,并监视计算机的剪贴板。虽然查看器只是一个查看器(它显示当前内容,并可让您删除内容),但是它不提供向剪贴板中输入新文本的用户界面。此外,剪贴板查看器基于分布式技术(十几年前的旧技术)— 网络动态数据交换(或缩写为 NetDDE)。所以,我的客户决定编写一个自定义版本的剪贴板查看器,以作为实际的分布式应用程序。因为他使用的是 .NET Framework,所以他在计划时就想到了使用 .NET Remoting 来设计实用工具。

安装远程组件


.NET Remoting 是一种机制,能够实现在不同 AppDomains 中运行的组件之间的通讯。所有基于 .NET Framework 的应用程序至少由一个(主)AppDomain 构成,但是更多的 AppDomains 可以通过编程方式创建。AppDomain 代表一个托管子进程,该子进程存在于由操作系统和 CPU 管理的物理进程上下文中。公共语言运行库 (CLR) 可确保不能从一个 AppDomain 访问包含在另一个 AppDomain 中的任何数据。无论两个应用程序域是位于同一个应用程序中、同一计算机的两个截然不同的应用程序中还是运行于物理分隔的计算机上,分离机制都是完全相同的。

从体系结构上讲,.NET Remoting 的角色取决于系统将调用上下文从客户端封送到服务器、然后将结果发送回客户端的能力。远程组件是一个具有公共方法的类,它可以直接或间接地来自 MarshalByRefObject。该类被编译为程序集,它部署在服务器计算机上,并通过宿主应用程序与客户端进行交互。宿主应用程序负责侦听传入调用的特定端口、将它接收到的参数转换为对象的本地调用,并将返回值封送回调用方。图 2 显示了访问网络计算机剪贴板的远程组件的体系结构。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值