Yam*_*man 4 virtual-desktop windows-10
我在 Windows 10 中使用虚拟桌面已经有一段时间了。它工作正常,我发现并希望解决的唯一问题是以下情况:
在这种情况下,它切换到Desktop 1,因为它已经打开了 Excel / Word,而我希望它在Desktop 2上打开,因为我在那里。当然,我可以将 Sheet2.xlsx / Doc2.xlsx 窗口移动到桌面 2,但我必须从多任务处理中手动完成。
我没有尝试其他应用程序,但我猜这是相同的行为。
无论如何要避免这种行为并让 Windows 打开当前虚拟桌面中的其他文档/工作表?
小智 7
Excel 使用相同的可执行文件打开工作表,这就是它切换桌面的原因。解决方案是打开Excel的第二个实例:
转到桌面 2:
我发现 Excel 在文件资源管理器中打开时仅使用最新的实例打开工作表,即使选择了另一个实例也是如此。
因此,作为解决方法,如果您想稍后在桌面 1 上打开另一个工作表,请转到该桌面上的实例(打开一个新工作表,如果已关闭),然后单击“文件 -> 打开”以在该桌面上打开一个新工作表实例。
自 MS Office 2013 起,每个 Office 应用程序的窗口都在可执行文件的单个实例中运行。当实例打开一个新窗口时,任务视图首先切换到现有的应用程序窗口。(我的另一个抱怨是多个 UNDO 命令在多个窗口中按时间顺序回溯,这从来不是我想要的。)
我通过使用命令行选项在单独的实例中运行每个 Word 和 Excel 窗口解决了 Office 2016 中的问题。对于 Word,选项是/N
; 对于 Excel,它是/X
. 它需要一点额外的启动时间和一点额外的内存。我不会一次运行很多窗口,所以对我来说,减少恶化是值得的。
对于桌面图标、自定义工具栏和其他快捷方式,您可以简单地编辑属性并将选项添加到目标命令行:
"C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE" /X "C:\Data\Weather\Weather Log.xls"
在打开文件时应用该选项(例如通过双击)有点困难。
打开以管理员身份运行的命令窗口。
查找与文件扩展名关联的文件类型:
> 关联.xls .xls=Excel.Sheet.8
> ftype excel.sheet.8 excel.sheet.8="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" "%1"
> ftype excel.sheet.8="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" excel.sheet.8="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"
您可以通过将所有 Excel ftype 定义捕获到 .BAT 文件中,编辑文件以ftype
在每行开头和 /X
每个 .EXE 之后添加,并且(对于 .BAT 脚本)更改%1
为%%1
> ftype | 找到 /i "office16\excel" > ftypes.bat > [你的文本编辑器] ftypes.bat (进行上述更改)
运行生成的脚本应该会产生类似于以下内容的输出:
> ftypes.bat > ftype dqyfile=C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE /X "%1" dqyfile=C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE /X "%1" > ftype Excel.Addin="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" Excel.Addin="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" > ftype Excel.Backup="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" Excel.Backup="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" > ftype Excel.Chart=C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE /X "%1" Excel.Chart=C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE /X "%1" > ftype Excel.Chart.8="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" Excel.Chart.8="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" > ftype Excel.CSV="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" Excel.CSV="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" > ftype Excel.Macrosheet="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" Excel.Macrosheet="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" > ftype Excel.OpenDocumentSpreadsheet.12="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" Excel.OpenDocumentSpreadsheet.12="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" > ftype Excel.Sheet.8="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" Excel.Sheet.8="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" > ftype Excel.Sheet.12="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" Excel.Sheet.12="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" > ftype Excel.SLK="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" Excel.SLK="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" > ftype Excel.Template="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" Excel.Template="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" > ftype Excel.Template.8="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" Excel.Template.8="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" > ftype Excel.Workspace="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" Excel.Workspace="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" > ftype Excel.XLL="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" Excel.XLL="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1" > ftype Excelhtmlfile="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X Excelhtmlfile="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X > ftype Excelhtmltemplate="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X Excelhtmltemplate="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X > ftype iqyfile=C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE /X "%1" iqyfile=C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE /X "%1"
某些 Office 应用程序(尤其是 PowerPoint)没有启动新实例的选项。但是,以不同用户身份运行应用程序会创建一个新实例。因此,一种解决方法是为您希望同时打开 PowerPoint 的虚拟桌面创建本地 Windows 用户。这种方案并不理想,因为在打开新的用户/实例之前,您必须记住您已经运行了哪些用户/实例。如果你只有几个,它可能不会太糟糕。
创建每个用户:
设置 > 帐户 > 家庭和其他用户 > [+] 将其他人添加到这台电脑
要创建以指定用户身份启动 PowerPoint 的快捷方式,请编辑快捷方式的属性以使用如下命令:
runas /user:user2 /savecred "C:\Program Files (x86)\Microsoft Office\root\Office16\POWERPNT.EXE"
Run Code Online (Sandbox Code Playgroud)
runas
提示输入用户密码。 /savecred
第一次保存密码,随后使用保存的密码。您可能希望最初使每个快捷方式Run: Normal window,然后将其更改为Run: Minimized。
这些快捷方式可以位于 Windows 桌面或自定义工具栏菜单中。PowerPoint 运行后,您可以从那里打开 PPT 文件,也可以从文件资源管理器中拖入文件。如果您长时间处理几个 PPT 文件,您可以为每个文件创建一个快捷方式,指定以哪个用户身份运行。
不幸的是,将 PPT 文件拖到上述桌面快捷方式之一将不起作用,因为runas
需要引用完整的 PowerPoint 命令行。直接打开PPT文件的快捷键需要一个中间脚本来整理引号。创建一个脚本,例如“ PowerPoint_User.bat ”:
:: Usage: PowerPoint_User <username> <PPT filename>
:: Opens a PPT file as a specified user, starting a new PowerPoint instance on
:: the current virtual desktop if that user was not already running PowerPoint.
:: (%~f2 expands %2 to full path with no quotes. See "call /?".)
@echo off
C:\Windows\System32\runas.exe /user:%1 /savecred "POWERPNT.EXE \"%~f2\""
Run Code Online (Sandbox Code Playgroud)
然后为每个用户创建一个快捷方式,使用如下命令:
C:\bin\PowerPoint_User.bat user2
Run Code Online (Sandbox Code Playgroud)
如果快捷方式在您的 Windows 桌面上,那么您可以将 PPT 文件拖到它上面。如果您在 中创建快捷方式%USERPROFILE%\AppData\Roaming\Microsoft\Windows\SendTo
,那么您可以在 PPT 文件上单击右键并从“发送到”菜单中打开它。无论哪种情况,请记住,每个快捷方式在第一次运行时都会提示输入密码。
(如果您需要调试快捷方式,请将其设置为Run: Normal window,添加cmd /k
到命令中,然后@echo off
从脚本中删除。)
归档时间: |
|
查看次数: |
2426 次 |
最近记录: |