如何用WindowsVirtualDesktopPowershell Cmdlets启动全桌面显示应用
WindowsVirtualDesktopPowershell实现应用启动时全局显示
WindowsVirtualDesktopPowershell库完全可以实现你的需求——它封装了Windows虚拟桌面的核心COM API,支持直接操控窗口的跨桌面显示属性。
以下是双击即可运行的PowerShell脚本,启动应用后自动将其设置为“在所有桌面显示”模式:
# 检查并安装WindowsVirtualDesktopPowershell模块(首次运行需要) if (-not (Get-Module -ListAvailable -Name WindowsVirtualDesktopPowershell)) { Write-Host "安装WindowsVirtualDesktopPowershell模块..." Install-Module -Name WindowsVirtualDesktopPowershell -Scope CurrentUser -Force -AllowClobber } # 导入模块 Import-Module WindowsVirtualDesktopPowershell -Force # 配置目标应用:替换为你的应用路径和启动参数 $appPath = "notepad.exe" # 示例:记事本,可改为"chrome.exe"或完整路径如"C:\Program Files\XXX\XXX.exe" $appArgs = "" # 应用启动参数(无则留空) # 启动应用并等待其加载 $process = Start-Process -FilePath $appPath -ArgumentList $appArgs -PassThru Wait-Process -InputObject $process -Timeout 5 # 等待5秒确保窗口初始化 # 获取应用主窗口句柄 $windowHandle = $process.MainWindowHandle if ($windowHandle -eq 0) { Write-Host "错误:无法获取应用窗口句柄,可能应用启动过慢,请延长超时时间" exit 1 } # 设置窗口为全局显示(在所有桌面可见) Set-WindowShowOnAllDesktops -WindowHandle $windowHandle -ShowOnAllDesktops $true Write-Host "操作完成:$appPath 已设置为在所有虚拟桌面显示"
使用说明:
- 将脚本中的
$appPath替换为你需要启动的应用路径(支持相对路径或绝对路径),如果应用需要启动参数,填写到$appArgs中。 - 保存脚本为
LaunchAppGlobal.ps1文件。 - 首次运行时,可能需要调整PowerShell执行策略:右键以管理员身份打开PowerShell,执行
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser,按提示选择Y确认。 - 双击脚本即可启动应用并自动设置全局显示。
注意事项:
- 如果应用启动耗时较长,可将
Wait-Process的-Timeout参数值调大(单位:秒)。 - 部分后台运行的应用可能没有主窗口句柄,这类应用无法设置全局显示。
内容的提问来源于stack exchange,提问作者Daniel Kaplan
相关产品推荐
相关产品推荐

