Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取远程计算机&x27;动态显示屏幕图像,让我实时观察正在发生的事情? 我怎样才能得到一个我知道他的开机端口号和他的IP地址的远程计算机的完全控制,使用C++?_C++ - Fatal编程技术网

如何获取远程计算机&x27;动态显示屏幕图像,让我实时观察正在发生的事情? 我怎样才能得到一个我知道他的开机端口号和他的IP地址的远程计算机的完全控制,使用C++?

如何获取远程计算机&x27;动态显示屏幕图像,让我实时观察正在发生的事情? 我怎样才能得到一个我知道他的开机端口号和他的IP地址的远程计算机的完全控制,使用C++?,c++,C++,我知道我需要在这两台计算机之间建立一个套接字连接,我已经这样做了。但是,如何动态获取远程计算机的屏幕图像,让我实时观察正在发生的事情 我只是想知道如何处理这个问题。 PS:我正在尝试实现这个解决方案,我知道有很多软件处理这个问题 操作系统:Windows7SP1。这相当复杂。类似“远程桌面”的东西将实现虚拟屏幕驱动程序、虚拟键盘驱动程序和虚拟鼠标驱动程序。然后,虚拟驱动程序对正在发生的事情进行打包(启用时),并将数据发送到本地计算机,本地计算机有代码重新绘制远程计算机的图形。另一方面,本地机器(

我知道我需要在这两台计算机之间建立一个套接字连接,我已经这样做了。但是,如何动态获取远程计算机的屏幕图像,让我实时观察正在发生的事情

我只是想知道如何处理这个问题。

PS:我正在尝试实现这个解决方案,我知道有很多软件处理这个问题


操作系统:Windows7SP1。

这相当复杂。类似“远程桌面”的东西将实现虚拟屏幕驱动程序、虚拟键盘驱动程序和虚拟鼠标驱动程序。然后,虚拟驱动程序对正在发生的事情进行打包(启用时),并将数据发送到本地计算机,本地计算机有代码重新绘制远程计算机的图形。另一方面,本地机器(假设您想要控制远程机器)将向远程机器发送按键和鼠标移动以允许控制。这些将被远程机器的虚拟键盘和鼠标驱动程序拾取并输入系统,就像它们是“真实的”键盘和鼠标运动一样

你可以做一个非常简单的版本,只需做一个屏幕抓图,然后通过网络将数据发送到你的本地机器。您可能希望执行某种“将此图像与之前的图像进行比较,只发送更改的图像”,以避免网络上的数据过多。 以下是关于屏幕截图的众多答案之一:

还有一些接口可以将键盘和鼠标事件发送到系统,如以下所述:

如果您只想查看远程计算机的屏幕,您可以根据或的说明获取屏幕截图

接下来,您应该通过网络发送由指针(如ULONG*pBitmap)指向的位图数据。可以在每个帧数据之前放置页眉,然后放置页脚。在接收端,您可以通过页眉和页脚检测每个帧数据包,确保每个帧数据都被完全接收


在收到一个框架后,你应该通过你正在使用的任何GUI框架来显示它。

你想再编写一个RDP客户端软件还是重新设计服务器和客户端?@moooeeep,两者都是。那么你可能更愿意一步一步地做。在这个过程中,当你面对自己无法解决的特定问题时,你可以提出问题。在我看来,以目前的形式来看,这个问题实在太宽泛了。