sin*_*800 11 windows windows-7 terminal-services
我在我的 Windows 7 PC 上使用 Miniframe 的程序“SoftXPand 2011 Duo”。它使一台计算机成为两个工作站。它使用 Windows 内置的终端服务来创建附加会话。我使用两个屏幕、两个键盘和两个鼠标来创建两台计算机的“错觉”。它运行良好,我什至可以在连接到这台机器的两个屏幕上玩两个不同的 3D 游戏(使用 Radeon HD5770 和带有 8 GB RAM 的 Core i5 2500k)。
这有一些缺点。我刚刚发现了一个隐藏在第一眼的东西。您所在的会话(即使在第一个工作站上)将识别为终端服务器会话!现在有些程序会以有限的效果(图形)运行,而有些程序根本不会运行。
这也导致一些游戏根本无法运行。他们只是说“不能在终端服务器会话中运行”然后退出。我已经证明了顶级现代游戏(DirectX 10、11)在没有 SoftXPand 的情况下在同一台机器上运行时一样好,所以这是一个非常人为的限制!
那么,我可以以某种方式破解我当前的会话,使其不再像终端服务器会话吗?IE
#include <windows.h>
#pragma comment(lib, "user32.lib")
BOOL IsRemoteSession(void)
{
return GetSystemMetrics( SM_REMOTESESSION );
}
Run Code Online (Sandbox Code Playgroud)
会返回 FALSE 吗?(不是编程问题!只是程序如何检测它们是否在终端服务器会话中的示例!)
应用程序可以通过多种方式检查它是否正在终端服务器会话中运行。其中一些你可能会破解,如下所示:
HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\TSAppCompat
。在我的桌面上的正常会话中缺少SET SESSIONNAME=Console
(my desktop value) 或SET SESSIONNAME=
(empty)后从命令提示符 (cmd) 运行您的游戏。SET SESSIONNAME
在更改任何内容之前输入。 归档时间: |
|
查看次数: |
29509 次 |
最近记录: |