Windows 有没有办法让全屏程序不要覆盖任务栏 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
liyafe1997
V2EX    Windows

Windows 有没有办法让全屏程序不要覆盖任务栏

  •  
  •   liyafe1997 2024-03-18 22:44:27 +08:00 2361 次点击
    这是一个创建于 608 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求范围可以缩小一点,让 VMWare 全屏的时候不要覆盖任务栏,当然最好是其它全屏程序也适用。

    原始需求就是经常全屏使用 VMWare 虚拟机,隐藏掉 VMware 的工具栏啥的来获得最大的 workspace ,但与此同时又想方便的查看/切换宿主机 Windows 的窗口,每次都要按 Host 再按一下 Win 键呼出任务栏,挺麻烦的,如果此时想把 VMware 最小化更麻烦,要把鼠标移到顶部,把那个工具栏弹出来,再点一下最小化按钮,我至今没找到一个可以用快捷键一键最小化/隐藏全屏的 VMware 的方法。

    16 条回复    2024-03-29 22:36:06 +08:00
    dabai091220
        1
    dabai091220  
       2024-03-18 23:09:37 +08:00
    vmware 不是有一个 unity 模式吗(应该叫这名)
    虚拟机里的窗口可以在宿主机直接显示,这样再最大化就不会挡住任务栏了呀,而且也不会有虚拟机的状态栏什么的,就和主机的软件一样的
    liyafe1997
        2
    liyafe1997  
    OP
       2024-03-18 23:11:00 +08:00
    @dabai091220 这个模式一是 Bug 很多,会卡顿,还有个缺点是虚拟机里的桌面和任务栏不见了。最重要的是:Unity 不支持 Linux 。
    codehz
        3
    codehz  
       2024-03-18 23:17:10 +08:00
    全屏实现其实挺复杂的(因为跳过了窗口混合的过程),对老游戏可能可以 dxhook 一下,但虚拟机的估计没那么好做。。
    除非 vmware 用的是无缝窗口模式,那种也许可以骗过去。。。
    dabai091220
        4
    dabai091220  
       2024-03-18 23:25:32 +08:00
    @liyafe1997 #2 Linux 为啥还要窗口啊...嗯...实在不行你用 VNC 吧,本机内延迟应该很低的
    jim9606
        5
    jim9606  
       2024-03-19 02:28:32 +08:00
    Unity 模式都满足不了的你要不考虑下 WSLg 吧,这个最无缝,不过就是可能你用的发行版对这个不太 nice
    ysc3839
        6
    ysc3839  
       2024-03-19 03:54:19 +08:00 via Android
    @codehz VMware 看上去用的就是铺满屏幕的窗口,并没有其他那些问题
    liyafe1997
        7
    liyafe1997  
    OP
       2024-03-19 05:36:35 +08:00
    @dabai091220 Linux 用窗口的场合多了去了...不是用 Linux 就是做互联网应用开发那套
    liyafe1997
        8
    liyafe1997  
    OP
       2024-03-19 05:40:54 +08:00
    @dabai091220 本机 VNC 一个是也会影响性能,第二也有同样的问题呀,TightVNC Viewer 那些软件全屏同样会覆盖任务栏
    zsdroid
        9
    zsdroid  
       2024-03-19 09:01:24 +08:00
    那不叫全屏,叫最大化,很多游戏都有
    sunnysab
        10
    sunnysab  
       2024-03-19 09:03:15 +08:00
    1. 如果像 6 楼说的,“VMware 看上去用的就是铺满屏幕的窗口”,能不能用 SetWindowPos function (winuser.h) 设置窗口的大小?
    2. 我现在的解决方案是,外接显示器。笔记本显示器专门给远程桌面全屏使用。
    liyafe1997
        11
    liyafe1997  
    OP
       2024-03-22 19:10:38 +08:00
    @sunnysab SetWindowPos 听起来似乎可以?(不过应该不是 SetWindowPos ?因为这是改变窗口位置的,应该改变的是窗口大小把任务栏腾出来?)就是不确定有什么奇奇怪怪的 bug ,比如外面改了虚拟机里面的分辨率没改等等。

    发现还有一个场景:全屏远程桌面(主要是 RDP ),也非常需要类似的 feature ,

    vmware 还算好一点点,至少我可以按下 Host 键之后能把焦点弹回宿主机 Windows ,再按 alt+tab 或者 win+d ,或者直接按热键就可以完成宿主系统的播放器切歌/调音量之类的操作。

    但是 Windows 自带的 RDP 客户端在全屏模式下似乎找不到任何方法通过键盘把焦点切回主机,唯一跳出去的方法是把鼠标移到顶端,等一小会那个工具栏弹出来,然后再点最小化。有时只是想做个小事情,比如外头的音乐软件切个歌,就要做这一套“高难且复杂”的动作,真的难受。
    xqzr
        12
    xqzr  
       2024-03-26 16:26:47 +08:00
    @liyafe1997
    >Windows 自带的 RDP 客户端在全屏模式下似乎找不到任何方法通过键盘把焦点切回主机

    显示选项-本地资源-键盘-应用 Windows 组合键
    liyafe1997
        13
    liyafe1997  
    OP
       2024-03-26 16:31:30 +08:00
    @xqzr 这不是解决问题的方法啊。。。这样快捷键不就过不到远程桌面上了嘛
    YGHMXFAL
        14
    YGHMXFAL  
       2024-03-28 10:00:28 +08:00 via Android
    在宿主机使用 mstsc 远程桌面连接虚拟机

    用好快捷键,我觉得比 vmware 切入切出还会搞乱虚拟机内程序窗口的尺寸的体验强了好几倍

    Alt+F4

    Alt+Tab

    WIN+↑

    WIN+↓

    WIN+D

    WIN+CTRL+D

    WIN+CTRL+F4

    WIN+Tab

    WIN+CTRL+←

    WIN+CTRL+→
    YGHMXFAL
        15
    YGHMXFAL  
       2024-03-28 10:02:38 +08:00 via Android
    WIN+↑/↓应该就是你想要的答案,它会最大化当前聚焦窗口,但是和任务栏并列(也就是平铺)
    liyafe1997
        16
    liyafe1997  
    OP
       2024-03-29 22:36:06 +08:00
    @YGHMXFAL 这些热键都会传到远程桌面里啊,如果在键盘那里选热键在“这台计算机上”,那远程桌面里所有热键都按不了了。

    我需要的是一个能把焦点在远程桌面/vmware 与宿主机之间快速切换的方案
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3797 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 10:22 PVG 18:22 LAX 02:22 JFK 05:22
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86