您的位置:首页 > 健康 > 美食 > QT调用VNC并放到一个窗口中

QT调用VNC并放到一个窗口中

2024/10/5 21:25:01 来源:https://blog.csdn.net/xiaoding_ding/article/details/140488187  浏览:    关键词:QT调用VNC并放到一个窗口中

1.VNC资源下载

本例中的这个VNC可以从以下连接中下载,也可以从官网上下载,应该都是类似的。

https://download.csdn.net/download/xiaoding_ding/89549092

下载完成后放到项目的release文件夹中

2.程序中引用

2.1在主界面中放置一个按钮,命名为vnc_connect

2.2 通过按钮转到槽,修改mainwindow.cpp

里面的内容如下: 

    QProcess program(this);QString cmd ="VNC-Viewer-7.6.1-Windows-64bit.exe";program.startDetached(cmd);Sleep(200);QString classname = "os::Window::Dialog";//窗口的类名QString windowname = "RealVNC Viewer";//窗口标题名WId winId = (WId)FindWindow((LPCWSTR)classname.unicode(),(LPCWSTR)windowname.unicode());qDebug()<<winId;QWindow *window = QWindow::fromWinId(winId);QWidget *widget = QWidget::createWindowContainer(window);widget->show();

 2.3增加头文件

增加图示中的四个

3.运行效果

点击按钮就是这种效果

 4.问题说明

将这个窗口关闭后,再次点击“打开VNC”按钮后,会显示空白

这是因为程序中的process是独立执行的。关闭这个窗口,VNC进程还在。

在任务管理中杀死这个进程后,就可以重新调用了。

5.窗口句柄的获得

5.1打开visual studio,点击搜索,搜索功能spy

5.2打开vnc和spy,从搜索中拖动那个2中的标靶到VNC标题栏中。

 5.3在程序中进行对应

 6.总结

中间总是有各种各样的问题,本例提供了一种探索。中间有问题还是可以多搜索一下相关文章。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com