专利名称:用于大屏幕拼接墙显示系统的网络共享多鼠标控制方法
技术领域:
本发明涉及一种控制大屏幕拼接墙显示的方法,尤其涉及一种用于大
屏幕拼接墙显示系统的网络共享多鼠标(简称DMCMouse)控制方法。
背景技术:
随着国民经济和科学技术的快速发展,大屏幕拼接墙(也称为大屏 幕投影墙)显示系统在电力监控实时系统、公安交警指挥、交通监控管 理、军事作战指挥训练、工业生产调度等多个领域中得到了广泛的应用, 它能够集中显示来自计算机,视频和网络等多种不同信号源的信号,以满 足用户大面积显示各种共享信息和综合信息的需求来解决如桌面图形显 示系统局限性、模拟盘显示更新维护复杂、图形维护速度慢、现有实时 监控调度软件功能不够人性化等问题。大屏幕拼接墙显示系统显著的技 术优势,越来越得到广泛应用。因此对大屏幕拼接墙显示的控制方式提 出的要求越来越高。
目前,根据大屏幕拼接墙显示操作的控制,可以把控制方式分为以 下两类本地控制方式和远程控制方式。本地控制方式使用大屏幕拼接 控制器的鼠标和键盘来完成对大屏幕应用显示的操作,甩于控制和操作 的计算机键盘和鼠标通过延长设备放置到操作员的工作台上,操作员需 要在固定的位置使用它。操作员一般需要对本地的工作站的应用进行操 作,同时也需要远程操作大屏幕上的应用程序,操作员需要在本地和大
屏幕控制器的键盘鼠标间物理转换,大多数情况下,控制室有多个操作 员,大屏幕控制器上的一套键盘、鼠标操作装置往往不够用,不能发挥 大屏幕是一个可运行多个应用显示、高分辨率的信息共享平台。
发明内容
本发明要解决的技术问题是提供一种用于大屏幕拼接墙显示系统的 网络共享多鼠标控制方法,不仅能使用拼接控制器的鼠标和键盘来控制 大屏幕显示的内容,而且可以实现网络共享交互式控制,方便远程用户 控制,操作简单。
为解决上述技术问题,本发明提供一种用于大屏幕拼接墙显示系统的 网络共享多鼠标控制方法,采用服务端和客户端的结构,所述服务端安装 在大屏幕拼接墙控制器上,客户端安装在用户网络工作站上,该方法包括
如下步骤(1)多鼠标服务端应用程序Sinovo.exe启动,服务端装载多 鼠标服务端子程序CSLib模块;多鼠标客户端应用程序Xinovo. exe启动, 客户端装载多鼠标客户端通讯子程序CCLib模块,客户端集控模块 MCLient窗口打开;(2)服务端进行侦听,等待客户端网络连接;客户端 连接到服务端,然后发送消息给服务端;(3)服务端在有连接进入后,创 建一个新的接收消息线程,接收来自客户端的消息;(4)服务端判断该来 自客户端的消息类型是否为CREATE—MOUSE,如果是CREATE—MOUSE消息, Sinovo.exe调用AddMouse函数来创建新的虚拟鼠标;如果不是 CREATE—MOUSE消息,服务端响应客户端发送的虚拟鼠标动作指令,虚拟 鼠标通过占据本地鼠标位置执行客户端动作指令。
步骤(1)中,所述的客户端集控模块MCLient窗口的所有事件经路
由发送到客户端通讯子程序CCLib模块;所述多鼠标客户端通讯子程序
CCLib模块经由客户端将客户端集控模块MCLient窗口的所有事件实时路 由到多鼠标服务端子程序CSLib模块。
步骤(1)中,启动客户端时,需输入访问大屏幕拼接墙控制器的IP 地址,通过网络远程访问。
步骤(2)中,服务端在TCP的59733端口进行侦听,客户端通过TCP 通讯协议连接到服务端。
所述服务端自定义鼠标消息类型为CREATE—M0USE。
所述创建的虚拟鼠标为多个不同颜色的鼠标箭头。
步骤(4)中,如果是CREATE—MOUSE消息,所述接收消息线程给 Sinovo. exe发送CREATE—MOUSE的消息,将返回给Sinovo. exe的虚拟鼠 标跟Sinovo. exe主线程绑定,Sinovo. exe调用CSLib模块中的AddMouse 函数来创建新的虚拟鼠标,并返回给接收消息线程。
步骤(4)中,所述客户端发送的虚拟鼠标动作指令包括RButtonDown、 RButtonUP、 LButtonDown、 LButtonUP、 MouseWheel、 KeyboardEvent。
步骤(4)中,服务端创建新的虚拟鼠标后,真实鼠标的外观被替换 成该虚拟鼠标的外观,并隐藏该虚拟鼠标,真实鼠标替换新虚拟鼠标后, 原被真实鼠标替换的虚拟鼠标恢复显示。
步骤(4)中,服务端响应客户端发送的虚拟鼠标动作指令后,对应 客户端的服务端虚拟鼠标被隐藏真实鼠标使用该虚拟鼠标的外观占据该 虚拟鼠标的位置,原被真实鼠标替换的虚拟鼠标恢复显示。
和现有技术相比,本发明具有以下有益效果为了克服本地控制方式只能使用拼接控制器的鼠标和键盘来控制大屏幕显示的内容的不足,本发 明方法不仅能使用拼接控制器的鼠标和键盘来控制大屏幕显示的内容,而 且可以通过远程控制方式为用户提供多鼠标操作功能,用户可以方便地使 用网络上任意一台计算机的键盘和鼠标操作大屏幕上显示的内容。本发明
支持键盘的所有功能键(除Ctrl+Alt+Del,Alt+Tab),也支持鼠标的中间 滚轮功能。DMCMouse通过非硬件方式提供大屏幕上多个鼠标箭头同时控 制显示的功能,实现网络共享交互式控制,每个鼠标的颜色各不相同,方 便远程用户控制,操作简单。
图1是本发明中服务端的控制流程图; 图2是本发明中客户端的控制流程图3为本发明多鼠标交互式工作原理图(多鼠标切换模式)。
具体实施例方式
下面结合附图和实施例对本发明作进一步详细的说明。 本发明采用服务端和客户端的结构,其服务端必须安装在大屏幕拼接 墙控制器(Xwall-NT控制器)上,安装程序会为用户自动创建画CMouse 服务端的快捷方式到启动组中,控制器每次启动时自动装入DMCMouse服 务端程序。客户端安装在用户网络工作站上,安装程序也会为用户在开始 程序中建立DMCMouse客户端的快捷方式MouseClient。在用户的每一台 工作站上,它都虚拟出一个大屏幕的窗口,当用户的鼠标移动到虚拟大屏 幕窗口的范围内时,用户的鼠标就控制大屏幕,当鼠标移动到虚拟大屏幕 的范围之外时,就控制本地工作站。本发明的技术方案设计过程如图1、200710094086.9
说明书第5/9页
图2所示的流程图,该流程图是就多鼠标服务端应用程序Sinovo. exe和 多鼠标客户端应用程序Xinovo. exe相结合所做的网络共享多鼠标设计流 程图,图3为本发明多鼠标交互式工作原理图(多鼠标切换模式)。下面 对图l、图2和图3进行详细说明
1. 应用程序与模块说明
(1) Sinovo.exe:多鼠标服务端应用程序,采用通用的服务端应用程
序;
(2) Xinovo.exe:多鼠标客户端应用程序,采用通用的服务端应用程
序;
(3) CSLib模块多鼠标服务端子程序模块,是通用的通讯库服务端 模块,是直接经由Sinovo.exe的主线程加载的模块,多鼠标功能直接嵌 在此模块中;多鼠标的箭头需要的Windows的消息循环在Sinovo. exe的 主线程中,所有Sinovo. exe的通讯都会经由此模块;
(4) CCLib模块多鼠标客户端通讯子程序模块,是通用的通讯库客 户端模块,所有Xinovo. exe的通讯都会经由此模块;
(5) CREATE—MOUSE:自定义鼠标消息类型,用于定义鼠标事件等;
(6) MCLient:客户端集控模块,即客户端主窗口。
(7) RButtonDown、 RButtonUP、 LButtonDown、 LButtonUP、 MouseWheel、 KeyboardEvent:右键按下、右键弹起、左键按下、左键弹起、鼠标滚动、 键盘事件。
2. 如图1和图2所示,客户端和服务端的具体控制过程详细说明如下 (1)多鼠标服务端应用程序Sinovo. exe启动,服务端装载多鼠标服
务端子程序CSLib模块。多鼠标客户端应用程序Xinovo.exe启动,客户 端装载多鼠标客户端通讯子程序CCLib模块,客户端集控模块MCLient 窗口打开。启动客户端时,需输入访问大屏幕拼接墙控制器的IP地址, 通过网络远程访问。
(2) 服务端在TCP的59733端口进行侦听,等待客户端网络连接。 客户端通过TCP通讯协议连接到服务端,然后TCP通讯协议发送消息给服 务端多鼠标服务端子程序CSLib模块。
(3) 服务端在有TCP连接进入后,创建一个新线程(当客户端每一 台计算机与服务端连接后,都会创建一个新线程,该新线程也可称为接收 消息线程,用于处理鼠标,执行客户端动作,如RButtonDowrK RButtonUP、 LButtonDown、 LButtonUP、 MouseWheel、 KeyboardEvent等),接收来自 网络(客户端)的消息,判断该消息类型是否为CREATE—MOUSE (服务端 自定义鼠标消息类型为CREATE—MOUSE),如果是CREATE—MOUSE消息,接 收消息线程给Sinovo.exe发送CREATE—MOUSE的消息,将返回给 Sinovo.exe的虚拟鼠标跟Sinovo. exe的主线程绑定,Sinovo.exe回调 CSLib模块中的AddMouse函数来创建一个新的虚拟鼠标,并返回给接收 消息线程;让Sinovo. exe在主线程下面创建一个鼠标形状的透明窗口 ; 如果不是CREATE—MOUSE消息,服务端响应客户端发送的虚拟鼠标动作指 令,例如RButtonDown、 RButtonUP、 LBu11onDown、 LBu11onUP、 MouseWhee 1 、 KeyboardEvent等事件,虚拟鼠标通过占据本地鼠标位置执行客户端动作 指令。其中,客户端集控模块MCLient窗口的所有事件经路由发送到客户 端通讯子程序CCLib模块。客户端通讯子程序CCLib模块经由网络将客户
端集控模块MCLient窗口的所有事件实时路由到含多鼠标服务器端子程 序的CSLib模块。
(4)所创建的鼠标接口给Sinovo. exe主线程,主线程再将这个接口 返回到接收消息线程,这样,主线程跟鼠标形状的透明窗口相关联,并给 这个鼠标填充相应的颜色,把真实鼠标切给这个主线程,隐藏掉虚拟鼠标 箭头。
(5 )所有此主线程接收到的消息都会由这个鼠标形状的透明窗口来 反映(像鼠标的移动,对应窗口的移动等等),如果只有一个连接(一个 鼠标)存在,那么这个鼠标就代表真实鼠标,所有的操作都不会导致切换。 3.多鼠标实现过程
在有多个鼠标箭头时(只有一个是真实的),在某个连接的虚拟鼠标 有动作时,单击,双击等等(移动除外),都会导致虚拟鼠标和真实鼠标 的切换,切换的方式为查找到真实鼠标所属的线程,切出拥有鼠标的这个 线程的虚拟鼠标箭头,把这个虚拟鼠标箭头移动到真实鼠标的位置,显示 这个虚拟鼠标箭头。
隐藏掉真实鼠标箭头,将真实的鼠标颜色和大小设置成操作线程虚拟 鼠标的样式,把真实鼠标移动到操作线程虚拟鼠标的位置,隐藏掉操作线 程虚拟鼠标箭头,显示真实鼠标箭头,触发相应的操作(跟消息对应, RButtonDown 、 RButtonUP 、 LButtonDown 、 LButtonUP 、 MouseWheel、 KeyboardEvent等)。
DMCMouse通过非硬件方式提供大屏幕上多个不同颜色鼠标箭头同时 控制显示的功能,实现网络共享交互式控制,方便远程用户控制,操作
单。
如图3所示,本发明多鼠标交互式工作原理如下
(1) 有客户端连接前,大屏幕服务端显示的鼠标即为真实鼠标,且 具有服务端Windows当前设置的指针外观;
(2) 有客户端连接后,服务端创建具有特定外观的虚拟鼠标;
(3) Windows真实鼠标的外观被替换成该虚拟鼠标的外观,并隐藏
该虚拟鼠标,真实鼠标替换新虚拟鼠标后,原被真实鼠标替换的虚拟鼠标
恢复显示;
(4) 客户端通过TCP协议向服务端发送虚拟鼠标动作指令,如 RButtonDown 、 RButtonUP 、 LButtonDown 、 LButtonUP 、 MouseWheel、 KeyboardEvent;
(5) 对应客户端的服务端虚拟鼠标被隐藏,真实鼠标使用该虚拟鼠 标的外观占据该虚拟鼠标的位置,原被真实鼠标替换的虚拟鼠标恢复显 示;
(6) Windows处理鼠标消息,执行客户端动作指令,如RButtonDown、 RButtonUP、 LButtonDown、 LButtonUP、 MouseWheel、 KeyboardEvent等。
例如,有客户端连接前,大屏幕服务端显示的真实鼠标是黑色的,有 客户端连接后,服务端创建了一个红色的虚拟鼠标,真实鼠标的颜色变成 红色,并隐藏该红色的虚拟鼠标;又有客户端连接,服务端创建了另一个 绿色的虚拟鼠标,红色的真实鼠标变为绿色后,原被真实鼠标替换的红色 虚拟鼠标恢复显示。客户端通过TCP协议向服务端发送虚拟鼠标动作指 令,如RButtonDown、 RButtonUP、 LButtonDown、 LButtonUP、 MouseWheel、
KeyboardEvent;红色虚拟鼠标被隐藏,真实鼠标变成红色占据该虚拟鼠 标的位置,原被真实鼠标替换的绿色虚拟鼠标恢复显示;Windows处理鼠 标消息,执行客户端动作,如RButtonDown、 RButtonUP、 LButtonDown、 LButtonUP、 MouseWheel、 KeyboardEvent等。
权利要求
1、一种用于大屏幕拼接墙显示系统的网络共享多鼠标控制方法,其特征在于,采用服务端和客户端的结构,所述服务器端安装在大屏幕拼接墙控制器上,客户端安装在用户网络工作站上,该方法包括如下步骤(1)多鼠标服务端应用程序Sinovo.exe启动,服务端装载多鼠标服务端子程序CSLib模块;多鼠标客户端应用程序Xinovo.exe启动,客户端装载多鼠标客户端通讯子程序CCLib模块,客户端集控模块MCLient窗口打开;(2)服务端进行侦听,等待客户端网络连接;客户端连接到服务端,然后发送消息给服务端;(3)服务端在有连接进入后,创建一个新的接收消息线程,接收来自客户端的消息;(4)服务端判断该来自客户端的消息类型是否为CREATE_MOUSE,如果是CREATE_MOUSE消息,Sinovo.exe调用AddMouse函数来创建新的虚拟鼠标;如果不是CREATE_MOUSE消息,服务端响应客户端发送的虚拟鼠标动作指令,虚拟鼠标通过占据真实鼠标位置执行客户端动作指令。
2、 如权利要求1所述的用于大屏幕拼接墙显示系统的网络共享多鼠 标控制方法,其特征在于,步骤(1)中,所述的客户端集控模块MCLient 窗口的所有事件经路由发送到客户端通讯子程序CCLib模块;所述多鼠标 客户端通讯子程序CCLib模块经由客户端将客户端集控模块MCLient窗口 的所有事件实时路由到多鼠标服务端子程序CSLib模块。
3、 如权利要求1所述的用于大屏幕拼接墙显示系统的网络共享多鼠 标控制方法,其特征在于,步骤(1)中,启动客户端时,需输入访问大 屏幕拼接墙控制器的IP地址,通过网络远程访问。
4、 如权利要求1所述的用于大屏幕拼接墙显示系统的网络共享多鼠标控制方法,其特征在于,步骤(2)中,服务端在TCP的59733端口进 行侦听,客户端通过TCP通讯协议连接到服务端。
5、 如权利要求1所述的用于大屏幕拼接墙显示系统的网络共享多鼠 标控制方法,其特征在于,所述服务端自定义鼠标消息类型为 CREATE_M0USE。
6、 如权利要求1所述的用于大屏幕拼接墙显示系统的网络共享多鼠 标控制方法,其特征在于,所述创建的虚拟鼠标为多个不同颜色的鼠标箭 头。
7、 如权利要求1所述的用于大屏幕拼接墙显示系统的网络共享多鼠 标控制方法,其特征在于,步骤(4)中,如果是CREATE—MOUSE消息,所 述接收消息线程给Sinovo.exe发送CREATE—MOUSE的消息,将返回给 Sinovo.exe的虚J以鼠丰示足艮Sinovo.exe主线禾呈纟弗定,Sinovo.exe调用 CSLib模块中的AddMouse函数来创建新的虚拟鼠标,并返回给接收消息 线程。
8、 如权利要求1所述的用于大屏幕拼接墙显示系统的网络共享多鼠 标控制方法,其特征在于,步骤(4)中,所述客户端发送的虚拟鼠标动 作指令包括RButtonDown、 RButtonUP 、 LButtonDown 、 LButtonUP、 MouseWheel、 KeyboardEvent。
9、 如权利要求1所述的用于大屏幕拼接墙显示系统的网络共享多鼠 标控制方法,其特征在于,步骤(4)中,服务端创建新的虚拟鼠标后, 真实鼠标的外观被替换成该虚拟鼠标的外观,并隐藏该虚拟鼠标,真实鼠 标替换新虚拟鼠标后,原被真实鼠标替换的虚拟鼠标恢复显示。
10、如权利要求1所述的用于大屏幕拼接墙显示系统的网络共享多鼠 标控制方法,其特征在于,步骤(4)中,服务端响应客户端发送的虚拟 鼠标动作指令后,对应客户端的服务端虚拟鼠标被隐藏,真实鼠标使用该 虚拟鼠标的外观占据该虚拟鼠标的位置,原被真实鼠标替换的虚拟鼠标恢 复显示。
全文摘要
本发明公开了一种用于大屏幕拼接墙显示系统的网络共享多鼠标控制方法,包括如下步骤(1)多鼠标服务端应用程序Sinovo.exe启动,多鼠标客户端应用程序Xinovo.exe启动;(2)服务端进行侦听,等待客户端网络连接;客户端连接到服务端,发送消息给服务端;(3)服务端在有连接进入后,创建一个新的接收消息线程,接收来自客户端的消息;(4)服务端判断该消息类型是否为CREATE_MOUSE,如果是,调用AddMouse函数来创建新的虚拟鼠标;如果否,服务端响应客户端发送的虚拟鼠标动作指令,虚拟鼠标通过占据本地鼠标位置执行客户端动作指令。该方法可实现网络共享交互式控制,方便远程用户控制,操作简单。
文档编号G06F3/033GK101393487SQ20071009408
公开日2009年3月25日 申请日期2007年9月18日 优先权日2007年9月18日
发明者唐振利, 箭 赵, 赵军平 申请人:大道计算机技术(上海)有限公司