我在Windows 7 PC上使用Miniframe的程序“SoftXPand 2011 Duo”。它从一台计算机中生成两个工作站。它使用Windows内置的终端服务来创建附加会话。我使用两个屏幕,两个键盘和两个鼠标来创建两台计算机的“错觉”。它工作得很好,我甚至可以在连接到这台机器的两个屏幕上玩两个不同的3D游戏(使用Radeon HD5770和Core i5 2500k和8 GB RAM)。
这有一些缺点。我刚刚发现了一个隐藏在第一眼看上去的东西。您所在的会话(即使在第一个工作站上)将标识为终端服务器会话!现在有些程序运行的效果有限(图形化),有些程序根本无法运行。
这也导致一些游戏根本没有运行。他们只是说“无法在终端服务器会话中运行”并退出。我已经证明顶级现代游戏(DirectX 10,11)运行与没有SoftXPand的同一台机器一样好,所以这是一个非常人为的限制!
那么,我可以以某种方式破解我当前的会话,因此它看起来不再像终端服务器会话了吗? I. E.
#include <windows.h>
#pragma comment(lib, "user32.lib")
BOOL IsRemoteSession(void)
{
return GetSystemMetrics( SM_REMOTESESSION );
}
会返回FALSE吗? (不是一个编程问题!只是程序如何检测它们是否在终端服务器会话中的示例!)