需要实现PcAnywhere类似的远程控制方式
我在控制端的操作能够反应到对应的被控制端上!
需要,解决方案或者关键代码,
最好请有经验的朋友给点提议,有些东西跟想象的不一致。
关于鼠标单击和双击的本地判断和远程实现,我测试过了,效果不能满足要求,有一点bug,我没有找到原因。
我发现 MS Down, MS Up, MS DClk 三者 
单击是 MS Down   MS Up
双击是 MS Down   MS up   MS DClk   MS up
就直接把 Down DClk 要求为 MS Down ,可是在被控制端,只体现了 MS D U U , MS DClk 无法实现

解决方案 »

  1.   

    Up 4 
    Up 到死,这样揭贴不大好吧
      

  2.   

    使用mouse_event来模拟鼠标动作(包括移动、UP、Down等)
      

  3.   

    是的用mouse_event来模拟鼠标动作,做过类似的。
      

  4.   

    是的用mouse_event来模拟鼠标动作,做过类似的我就是用的这个, 可是双击模拟出来不对,to  etre(林荃) 你做的双击模拟这部分的代码能谈谈吗?还有,你怎么把 单击和双击正确的区分开的? 也就是1、单击要表现出来
    2、双击也要出现
    3、双击怎么排除单击的干扰? 这个问题是关键 to __A__(無羈の心) , 怎么区分单双击我觉得你可以设计一套协议:把[主控端]的事件分类,统一编制成控制指令,作为信息发送到[被控端],[被控端]收到后进行解析,然后再执行相应的操作,在[被控端]还原(或模拟)出[主控端]的控制事件!:)
    感觉没那么容易,不然我还问啥,请教各位大虾了
      

  5.   

    to kugou123(酷狗)(http://www.xiaozhou.net)关于单击和双击,你可以用消息来区别啊,你的客户端会受到鼠标指令,你在你的客户端就可以知道是双击还是单击,这样,就可以按照不同的消息,发送不同的指令。在VC里面,很难区别双击发生而没有单击,请问怎么做?如果只是功能控制,如:
    自己编一套简单的指令,双方共同使用这个指令,传输的时候,就可以用具体的数字或者字符来代替具体的指令,需要做的就是在服务端接收指令,并解析指令,如楼上的所说。
    那么已经没有问题,现在的问题是远程模拟控制,就想控制本机那样,所以需要模拟操作你的提法有用,不过不能解决我的问题,还是表示感谢
      

  6.   

    to  LongHai(龙) 
    有很多这样的例子,你自己去找一个研究研究不就可以了!!我想找 pcanywhere 得,可以没有,其他的也不好找,也找过了,要不您给推荐推荐?
      

  7.   

    其实这类东西的关键,我认为是在数据压缩并实时传输上楼上各位说的都不错服务端和客户端先定好协议:什么字符串代表什么命令或是什么动作,传输时是传输命令
    至于模拟单击:依次用mouse_event 模拟MOUSEEVENTF_LEFTDOWN和MOUSEEVENTF_LEFTUP
    双击嘛就是连用四个mouse_event:MOUSEEVENTF_LEFTDOWN、MOUSEEVENTF_LEFTUP、MOUSEEVENTF_LEFTDOWN、MOUSEEVENTF_LEFTUP
      

  8.   

    to  xhzxlqt(多谦虚一点,多学一点) 双击嘛就是连用四个mouse_event: MOUSEEVENTF_LEFTDOWN、MOUSEEVENTF_LEFTUP、MOUSEEVENTF_LEFTDOWN、MOUSEEVENTF_LEFTUPxzq : 我就是使用这个,快速双击根本引发不了远程的 双击操作,丢失率很高,请问什么原因呢?to zhaozhencn(FlyingDonkey)
        写过这种的程序,可以给代码你,关键是速度太慢。   如果可能,请发到 [email protected] ,谢谢!
      

  9.   

    我在在一个线程里面使用了 MOUSEEVENTF_LEFTDOWN、MOUSEEVENTF_LEFTUP、MOUSEEVENTF_LEFTDOWN、MOUSEEVENTF_LEFTUP现在的问题是 DOWN 消息只出现了一次, DOUBLEDOWN 没有出现. 丢失的情况出现 D U U 正常的情况是 D U DD U ,如果他出现   D U D U,没有双击我也理解,怎么就没有了一个 D 呢,变成
    了 D U U。
    to 至于模拟单击:依次用mouse_event 模拟MOUSEEVENTF_LEFTDOWN和MOUSEEVENTF_LEFTUP单击跟本不用两次 mouse_event 一下一上,一个 
    mouse_event MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP 
    就行了。
      

  10.   

    拜托大家来点有用的,老是参考 msdn ,要么就说明 mouse_event 的用法
    解决不了这个问题啊,哎msdn 我也能查,能查出来,我也早解决了。