c# 能远程操作软件吗?
各位好,我想远程操作一个绘图软件,绘图软件在A机(定为服务端),用c#写的c/s端与B机联上。
在B机上远程操作A机,开启那个绘图软件,用软件的笔刷画图,用橡皮擦消图。。。。
这样的与本机功能完全一样的远程控制 能用C#实现吗?
------解决方案--------------------不就是远控软件吗?模拟鼠标键盘操作,TCP建立连接传图就行了。
这个C#肯定能实现呀,C#不能写的东西就两个,一个是驱动,一个是用于注入的dll
------解决方案--------------------可以撒
客户端吧软件界面得图片时时传过来
记得别压缩。不然图片就不清晰了
服务端用一个窗体时时显示发过来的图片
然后用键盘钩子。
截获本机的快捷键,然后发送至客户端
鼠标点击拖拽
等事件同步 坐标什么的。就是计算了
缺点
对网络要求比较高
否则延迟什么的就不好说了
------解决方案--------------------还有打开本地文件的时候得先传送至客户端
相当于在客户端打开
完成后回传
------解决方案--------------------也可以把操作步骤写成缓存
缓存内有计时器模拟操作
不过界面同步就能难说了
毕竟你能闭着眼睛P图我也没办法
------解决方案--------------------
然后你会发现。
尼玛,坑爹啊。
这不是
说的远程协助软件么。。。
------解决方案--------------------可以的,只需要传输A机绘图的数据到B机,B机再根据接受信息,绘图在窗体上。
这里就需要A机与B机的通信,需要引用system.net,两台电脑通信后,就可以传输数据,不需要楼上说的传输本地图片。那样很浪费带宽,也不是远程平面。
而是两台电脑通信,互相传输数据。
打个例子:
A电脑再窗体绘图一条红色直线,再绘画完毕后向B机发送数据
发送-> socket.send("pen","100,100;200,200","red"); //,向B机传输,绘图的信息
接受-> 接受后开始执行 再窗体绘画一个,pen 坐标100,100 200,200的红色直线。
就是这个思路。
------解决方案--------------------确认是windows不,支持.net不,如果是,那么你中奖了,没有不能实现,只有你想不到的~~~~~~~~
------解决方案--------------------这样可以实现,定义好协议,客户端发送命令,服务器执行命令对应的动作就得了