Estou usando o programa "SoftXPand 2011 Duo" da Miniframe no meu PC com Windows 7. Faz duas estações de trabalho em um computador. Ele usa os serviços de terminal criados no Windows para criar a sessão adicional. Eu uso duas telas, dois teclados e dois mouses para criar essa "ilusão" de dois computadores. Funciona muito bem e posso até jogar dois jogos 3D diferentes nas duas telas conectadas a esta única máquina (usando uma Radeon HD5770 e uma Core i5 2500k com 8 Gbytes de RAM).
Existem algumas desvantagens nisso. Acabei de encontrar um que está escondido à primeira vista. As sessões em que você está (mesmo na primeira estação de trabalho) serão identificadas como uma sessão do servidor de terminal! Agora, alguns programas serão executados com efeitos limitados (gráficos) e outros não serão executados.
Isso também resultou em alguns jogos não rodando. Eles apenas dizem "Não pode ser executado em uma sessão do servidor de terminal" e saem. Eu já provei que os melhores jogos modernos (DirectX 10, 11) funcionam tão bem quanto na mesma máquina sem o SoftXPand, portanto, essa é uma limitação bastante artificial!
Então, posso de alguma forma invadir minha sessão atual para que não pareça mais uma sessão de servidor de terminal? IE
#include <windows.h>
#pragma comment(lib, "user32.lib")
BOOL IsRemoteSession(void)
{
return GetSystemMetrics( SM_REMOTESESSION );
}
Voltará FALSO? (Não é uma pergunta de programação! Apenas um exemplo de como os programas detectam se estão em uma sessão de servidor de terminal!)