需求范围可以缩小一点,让 VMWare 全屏的时候不要覆盖任务栏,当然最好是其它全屏程序也适用。
原始需求就是经常全屏使用 VMWare 虚拟机,隐藏掉 VMware 的工具栏啥的来获得最大的 workspace ,但与此同时又想方便的查看/切换宿主机 Windows 的窗口,每次都要按 Host 再按一下 Win 键呼出任务栏,挺麻烦的,如果此时想把 VMware 最小化更麻烦,要把鼠标移到顶部,把那个工具栏弹出来,再点一下最小化按钮,我至今没找到一个可以用快捷键一键最小化/隐藏全屏的 VMware 的方法。
1
dabai091220 250 天前
vmware 不是有一个 unity 模式吗(应该叫这名)
虚拟机里的窗口可以在宿主机直接显示,这样再最大化就不会挡住任务栏了呀,而且也不会有虚拟机的状态栏什么的,就和主机的软件一样的 |
2
liyafe1997 OP @dabai091220 这个模式一是 Bug 很多,会卡顿,还有个缺点是虚拟机里的桌面和任务栏不见了。最重要的是:Unity 不支持 Linux 。
|
3
codehz 250 天前
全屏实现其实挺复杂的(因为跳过了窗口混合的过程),对老游戏可能可以 dxhook 一下,但虚拟机的估计没那么好做。。
除非 vmware 用的是无缝窗口模式,那种也许可以骗过去。。。 |
4
dabai091220 250 天前
@liyafe1997 #2 Linux 为啥还要窗口啊...嗯...实在不行你用 VNC 吧,本机内延迟应该很低的
|
5
jim9606 250 天前
Unity 模式都满足不了的你要不考虑下 WSLg 吧,这个最无缝,不过就是可能你用的发行版对这个不太 nice
|
7
liyafe1997 OP @dabai091220 Linux 用窗口的场合多了去了...不是用 Linux 就是做互联网应用开发那套
|
8
liyafe1997 OP @dabai091220 本机 VNC 一个是也会影响性能,第二也有同样的问题呀,TightVNC Viewer 那些软件全屏同样会覆盖任务栏
|
9
zsdroid 250 天前
那不叫全屏,叫最大化,很多游戏都有
|
10
sunnysab 250 天前
1. 如果像 6 楼说的,“VMware 看上去用的就是铺满屏幕的窗口”,能不能用 SetWindowPos function (winuser.h) 设置窗口的大小?
2. 我现在的解决方案是,外接显示器。笔记本显示器专门给远程桌面全屏使用。 |
11
liyafe1997 OP @sunnysab SetWindowPos 听起来似乎可以?(不过应该不是 SetWindowPos ?因为这是改变窗口位置的,应该改变的是窗口大小把任务栏腾出来?)就是不确定有什么奇奇怪怪的 bug ,比如外面改了虚拟机里面的分辨率没改等等。
发现还有一个场景:全屏远程桌面(主要是 RDP ),也非常需要类似的 feature , vmware 还算好一点点,至少我可以按下 Host 键之后能把焦点弹回宿主机 Windows ,再按 alt+tab 或者 win+d ,或者直接按热键就可以完成宿主系统的播放器切歌/调音量之类的操作。 但是 Windows 自带的 RDP 客户端在全屏模式下似乎找不到任何方法通过键盘把焦点切回主机,唯一跳出去的方法是把鼠标移到顶端,等一小会那个工具栏弹出来,然后再点最小化。有时只是想做个小事情,比如外头的音乐软件切个歌,就要做这一套“高难且复杂”的动作,真的难受。 |
12
xqzr 242 天前
|
13
liyafe1997 OP @xqzr 这不是解决问题的方法啊。。。这样快捷键不就过不到远程桌面上了嘛
|
14
YGHMXFAL 241 天前 via Android
在宿主机使用 mstsc 远程桌面连接虚拟机
用好快捷键,我觉得比 vmware 切入切出还会搞乱虚拟机内程序窗口的尺寸的体验强了好几倍 Alt+F4 Alt+Tab WIN+↑ WIN+↓ WIN+D WIN+CTRL+D WIN+CTRL+F4 WIN+Tab WIN+CTRL+← WIN+CTRL+→ |
15
YGHMXFAL 241 天前 via Android
WIN+↑/↓应该就是你想要的答案,它会最大化当前聚焦窗口,但是和任务栏并列(也就是平铺)
|
16
liyafe1997 OP |