当前位置:首页 > 实用技巧 >

远程操作键盘用不了(远程操作怎么控制对方的电脑)

来源:原点资讯(www.yd166.com)时间:2023-06-16 02:34:00作者:YD166手机阅读>>

关于远程控制鼠标和键盘的那些事

在我们使用远程电脑控制软件时候,见得最多的除了画面,就是鼠标和键盘的操作了,那些远程控制的软件是如何工作的呢?经过与秒点远程控制工程师的深入交流,小编今天给大家讲讲其中原理。

其实远程控制软件的工作原理就是:A端操作,然后通过网络传输到B端,B端收到消息后做出相应的动作;然后动作的结果再通过画面形式传输回A端显示出来。今天我们就来讲讲鼠标和键盘在windows下远程控制的实现。有多种方法可以实现鼠标和键盘模拟,我们就介绍几种比较典型的。

远程操作键盘用不了,远程操作怎么控制对方的电脑(1)

1、局部级模拟

局部级模拟就是鼠标键盘事件只能把消息发送到指定的窗口。那么它是如何工作的呢?最直接的方法就是:直接伪造一个键盘消息发给目标程序。Windows提供了几个这样的API函数可以实现直接向目标程序发送消息的功能,常用的有SendMessage和PostMessage,它们的区别就是PostMessage函数异步的消息丢给目标程序后就不管了,而SendMessage同步的消息发出去后,还要等待目标程序的返回结果,如果一直没有结果返回,就会阻塞在那里,导致线程阻塞。所以模拟鼠标键盘消息最好是用PostMessage函数是比较好的选择。

但是,PostMessage这个方法发送消息,要事先知道对方的窗口句柄。要知道对方的窗口句柄就要使用到另外一函数,那就是FindWindow来查找目标窗口。HWND FindWindow(LPCTSTR lpClassName, LPCTSTR lpWindowName);这个方法FindWindow局限性比较大,就是要事先知道这个窗口的类名或者窗口名。在远程控制过程中我们要对不同的窗口做控制,而且还要知道这个窗口的信息才能有针对性的发消息才行。所以这不是一个很好的方案。这种方法以只适合做一些比较特别的动作。比如我们的窗口已经最小化到拖盘了,用户以为客户端还没启动,就会在桌面快捷方式中双击打开,但是我们程序又是不支持多开的,这种情况下,就用我们现在方法就可以解决这个问题。

HWND hwnd = FindWindow(null, "窗口标题名");

if (hwnd != NULL) {

PostMessage(hwnd, WM_SHOWWINDOW , 0, 0)

SetForegroundWindow(hwnd);

}

当对方窗口收到消息的时候就可以做显示到前台了。

2、全局级模拟

比如mouse_event, keybd_event, SendInput,但是微软建议用SendInput代替另外两个,这里我们就讲讲SendInput举个例子,我们平时用的比较多的Win D,可以快速切换到桌面。那这个一套按键是如何模拟的呢?

INPUT inputs[4] = {};

ZeroMemory(inputs, sizeof(inputs));

inputs[0].type = INPUT_KEYBOARD;åå

inputs[0].ki.wVk = VK_LWIN;

inputs[1].type = INPUT_KEYBOARD;

inputs[1].ki.wVk = VK_D;

inputs[2].type = INPUT_KEYBOARD;

inputs[2].ki.wVk = VK_D;

inputs[2].ki.dwFlags = KEYEVENTF_KEYUP;

inputs[3].type = INPUT_KEYBOARD;

inputs[3].ki.wVk = VK_LWIN;

inputs[3].ki.dwFlags = KEYEVENTF_KEYUP;

UINT uSent = SendInput(ARRAYSIZE(inputs), inputs, sizeof(INPUT));

if (uSent != ARRAYSIZE(inputs)) {

OutputString(L"Failed:0x%x\n", HRESULT_FROM_WIN32(GetLastError()));

}

讲到这里,中级的模拟鼠标键盘的方法,这个就可以满足我们平时办公的日常操作了,但是这个方法还是不够完美。就是有些窗口是不走Windows消息机制的,那这条路就走不通了。比如Windows上玩手柄游戏,这个方法就行不通了。原因一,游戏讲究的是实时性,响应速度一定要快,因为Windows消息机制是走队列的,消息一但成千上万的触发就会有一定的延迟;原因二,有些游戏具有防作弊功能,就是除了本机的鼠标键盘手柄设备,其他消息一概不处理,所以靠模拟Windows消息就不行了;所以这方面的游戏是不走Windows的消息机制的,你会发现在使用秒点远程控制, 在进行远程玩游戏, 给电脑当云游戏或云电脑的时候,有些远程软件的鼠标和键盘不能操作游戏来完成动作, 提示你使用了作弊器之类,这就是因为游戏之类, 或一些软件本身有反作弊机制.

那我们秒点远控如何解决这个问题呢,那么就是我们接下来要讲的BOSS级的驱动级模拟了。

驱动级模拟

远程操作键盘用不了,远程操作怎么控制对方的电脑(2)

什么是驱动级模拟呢?首先,要普及一下设备驱动程序的知识了。

驱动程序一般指的是设备驱动程序(Device Driver),是一种可以使计算机和设备进行相互通信的特殊程序。相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。因此,驱动程序被比作“ 硬件的灵魂”、“硬件的主宰”、“硬件和系统之间的桥梁”等。

在系统内核里面操作I/O端口,给连接键盘的集成电路发送指令,让它产生一个按下按键的信息,这样你的模拟输入对于所有程序来说就是从一个真实的设备发出的,而且可以绕过很多保护。从而达到模拟鼠标和键盘消息的输入事件。

我们在键盘上按下一个按键时,键盘会产生一个硬件中断,Windows会捕捉到这个中断,从而得知键盘上有了操作,然后由驱动来读取及处理键值。驱动程序的入口函数是

NTSTATUS DriverEntry(

IN PDRIVER_OBJECT DriverObject,

IN PUNICODE_STRING RegistryPath

)

里面主要的工作:

1、注册驱动卸载。

2、注册通用IRP分发。

3、注册读取IRP分发。

4、注册电源IRP分发。

5、注册即插即用IRP分发。

6绑定设备。

键盘驱动对应着一条设备链,物理硬件(键盘)处于该设备链的最底端,在键盘上面叠着很多其他的虚拟设备,当键盘上有击键操作的时候,键值会存储在IRP中,所以我们可以创建一个虚拟的设备,绑定到这条设备链中来第一时间获取到按键信息,从而对其进行操作。

如果我们想对键盘的输入做一些改变,比如替换键值,就可以在第3步的时候读取键盘的输入值,并做相应的替换就行了。这个时候对于电脑操作系统看起来, 传送过去的键盘鼠标信号, 看起来都是物理的鼠标与键盘.

栏目热文

ukey在电脑上咋打不开(为什么电脑识别不了ukey)

ukey在电脑上咋打不开(为什么电脑识别不了ukey)

我们在日常开票的过程中,总会遇到一些小问题,但当对方或老板急着要发票的时候,这些小问题可就是大问题了,会觉得我们能力不行...

2023-06-16 02:58:51查看全文 >>

无线键盘怎么在云电脑用不了(云电脑可以连接无线鼠标和键盘吗)

无线键盘怎么在云电脑用不了(云电脑可以连接无线鼠标和键盘吗)

无线键盘仅需要连接到蓝牙后,就不用被局限于有线键盘的区域限制。既然无线键盘已经成熟,则延迟感和有线键盘将不再反映在常规操...

2023-06-16 02:58:13查看全文 >>

汽车后保险杠凹陷能修复吗(前保险杠凹陷掉漆修复多少钱)

汽车后保险杠凹陷能修复吗(前保险杠凹陷掉漆修复多少钱)

爱车上路难免会刮擦碰撞即便停在小区里一个看护不周也可能遭遇意外出现令人烦恼的划痕遇到这些问题该怎么办?世界技能大赛就有一...

2023-06-16 02:54:38查看全文 >>

保险杠凹陷修复价格(前保险杠塑料凹陷修复多少钱)

保险杠凹陷修复价格(前保险杠塑料凹陷修复多少钱)

家里的车子,被我不小心撞到地下车库的柱子上,前保险杠瘪进去一个坑。因为不影响开车,就没怎么管它。前段时间,车子的水箱坏了...

2023-06-16 02:26:00查看全文 >>

后保险杠坏了怎么补救(后保险杠烂了一点怎么修复)

后保险杠坏了怎么补救(后保险杠烂了一点怎么修复)

发现四维修分享。发现四这个位置要是损坏了,别着急换保险杠,一个小工具就能搞定。发现四后保险杠的杠角位置发生碰撞的时候,支...

2023-06-16 03:02:18查看全文 >>

todesk远程键盘用不了(todesk远程进去点鼠标没反应)

todesk远程键盘用不了(todesk远程进去点鼠标没反应)

随着科技的发展,智能手机从原来的只能发短信,打电话的电子设备变成了可以处理文档、可以播放音乐、可以播放视频...的全能的...

2023-06-16 03:02:31查看全文 >>

为什么远程键盘使用不了(远程控制键盘无反应)

为什么远程键盘使用不了(远程控制键盘无反应)

IT之家4月6日消息 Intel近期宣布,他们将停止支持Remote Keyboard(远程键盘)App的支持,该公司确...

2023-06-16 02:42:41查看全文 >>

通过ap面板无法唤醒电脑(ap面板可以连接电脑吗)

通过ap面板无法唤醒电脑(ap面板可以连接电脑吗)

电脑的休眠功能,为长时间不用的电脑进行了关闭显示、硬盘停转的深度节能模式,不仅节约能源,还保护的设备;但有些时候也会出现...

2023-06-16 02:44:04查看全文 >>

远程键盘操作教程(键盘操作手机教程)

远程键盘操作教程(键盘操作手机教程)

无论手机输入法如何优化,在手机录入大量的文字也是非常不现实的,因此很多商旅用户都会随身携带迷你蓝牙键盘,随时与手机连接待...

2023-06-16 03:01:18查看全文 >>

远程键盘操作能记录下来吗(远程操作有记录吗)

远程键盘操作能记录下来吗(远程操作有记录吗)

声明:本篇内容禁止用作非法目的,谢绝一切形式的转载当你在登陆电脑的时候,当你在登陆淘宝的时候,当你在登陆微信的时候,你的...

2023-06-16 02:57:56查看全文 >>

文档排行