cs15763347528 发表于 2020-3-13 11:16

关于C++创建虚拟桌面,在虚拟桌面启动QQ浏览器的不正常的问题!


重金悬赏如果能够解决可以现金奖励

我在C++中使用CreateDesktopEx函数创建虚拟桌面,并在虚拟桌面中使用CreateProcess函数启动QQ浏览器,但是在新版本中浏览器10.5中间部分窗口并没有在虚拟桌面中打开,而是在主桌面中弹出,但是我在qq浏览器的上个版本QQ_10.4.3232.400_2019-05-07.exe中就不会出现这种问题。
下面是图片和代码

cs15763347528 发表于 2020-3-13 11:28

兄弟们 拜托了 重谢啊

coder014 发表于 2020-3-13 11:31

也许是浏览器多进程渲染的缘故
个人猜测 新版QQ浏览器可能在调用创建进程api时使用了默认的桌面参数,没有继承主进程参数
用自己的程序解决不大可能楼主可以从hookapi角度试一试呢

cs15763347528 发表于 2020-3-13 12:00

coder014 发表于 2020-3-13 11:31
也许是浏览器多进程渲染的缘故
个人猜测 新版QQ浏览器可能在调用创建进程api时使用了默认的桌面参数,没有 ...

他是先在虚拟桌面已经创建成功,窗口已经创建成功,然后他才跳到主窗口

cs15763347528 发表于 2020-3-13 12:16

coder014 发表于 2020-3-13 11:31
也许是浏览器多进程渲染的缘故
个人猜测 新版QQ浏览器可能在调用创建进程api时使用了默认的桌面参数,没有 ...

这是在虚拟机里面的效果

Eaglecad 发表于 2020-3-13 12:40

QT里面也有创建虚拟桌面的,可以考虑结合着用下

plattl 发表于 2020-3-13 13:00

楼主辛苦,感谢分享

cs15763347528 发表于 2020-3-13 13:33

各位大佬,需要你们的大脑!

coder014 发表于 2020-3-13 14:06

cs15763347528 发表于 2020-3-13 12:16
这是在虚拟机里面的效果

刚打开时只有主进程负责绘制整个窗口
随后创建的进程接管了部分界面的渲染工作
所以归根到底还是多进程的问题
页: [1]
查看完整版本: 关于C++创建虚拟桌面,在虚拟桌面启动QQ浏览器的不正常的问题!