是的你可以。
Windows 中有两种类型的会话:始终处于活动状态的“控制台”会话,最多只能有一个会话,以及“终端”会话,例如 RDP。在 Github 上使用“rdpwrap”,您可以拥有无限数量的终端会话。
当没有与它们的连接时,RDP 会话将变为“停用”。程序仍然可以运行,但是任何依赖于 GUI 交互的东西都会严重损坏。
幸运的是,我们可以通过在终端会话中运行以下命令,将终端会话“转换”为控制台会话,而不是正常断开与远程桌面的连接:
for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (tscon.exe %%s /dest:console)
这将使您与会话断开连接,但它仍将在完整的图形上下文中运行。这回答了你的问题。你可以重新连接它,它会再次成为一个终端会话,你可以无限地这样做。而且,当然,自动热键可以完美运行。
但是,如果您需要多个持久的、支持图形的会话怎么办?
要获得无限数量的图形持久会话,您可以运行远程桌面并从上述“主”会话中启动终端会话。通常远程桌面会阻止这种“回送”行为,但如果您为目标指定“127.0.0.2”,您将能够与远程计算机上的任意数量的用户启动终端会话。
除非您在以下注册表位置创建RemoteDesktop_SuppressWhenMinimized并将其设置为2,否则图形持久性仅在终端服务器未最小化时才会出现:
HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client
有了这个,您可以从一台机器上获得无限数量的完全独立的图形持久远程会话。