浏览 3420 次
锁定老帖子 主题:hidden cursor (隐藏光标)
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-12-28
最近由于项目的需要,我们的头要求我做关于java远程控制系统,昨天遇到一个问题:在远程控制桌面不能有自己的光标(也是就要隐藏这个光标),好像java API中没有隐藏方法,折腾了半天终于找到了解决的办法,代码如下:
java 代码
关于远程控制原理与实现,下一期将会讲到 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-12-28
不错,我也在研究java的远程控制,我有几个问题,你看看你是怎么解决的?
1)抓图的速度够不够?我试了试,一秒钟还不到十个frame; 2)传输时是怎么进行压缩的?是否支持p2p的传输?; 3)控制方移动光标时,在被控制方怎么移动的? 4)从技术角度讲,是不是java的远程控制效率会低一些?用C或delphi来实现效率会高一些? 不知道你是否也在研究这些问题,我一直在思考这引起问题的最佳答案。 |
|
返回顶楼 | |
发表时间:2007-12-28
说一下我对windows系统的想法
1.受控端基本就是个消息转发器,它hook桌面各个窗口的wm_paint消息,并wrap实际的窗口dc到一个内存dc中转发给控制端。并把控制端的操作事件转发到实际窗口中去。 2.控制端还原各个dc到相应的位置上,并模拟生成鼠标键盘事件发往受控端。 3.我最多只用java做控制端,受控端一定用本地代码实现。 你们以为如何? |
|
返回顶楼 | |
发表时间:2007-12-29
大家好,现在我做的java远程控制系统,有三个角色:1、控制端(applet),2、消息转发器(Socket服务,于tomcat一起启动),3、被控制端(并没有启动任何服务),所以不支持p2p。
1)控制端、被控制端与Socket服务(转发器)建立两个socket连接分别是:controlSocket和screenSocket; 2) 当转发器接收到被控制端连接(也是被控制端screenSocket)时,它会转发给一个或多个控制端(只有一个applet控制)。 3)当转发器接收到控制端(applet)连接(也是控制端controlSocket),它会把控制信息给送给被控制端,用robot类进行操作。 用java做很难让远程控制像QQ的远程控制那么快,也许是技术不行啊 |
|
返回顶楼 | |
发表时间:2007-12-29
其实现在java的性能已经不错了,特别是io方面,我觉得应该跟native应该不会差太远。
之前曾经看过一片关于后门程序的文章,里面说过,这种远程控制的难点(或者叫最容易体现特色的地方)就是他的影像传输。 |
|
返回顶楼 | |