Я пишу программу и хочу быть уверенной, что она будет работать только на компьютерах с Windows, которые могут выступать в качестве хоста в RDP-соединении. Например, некоторые версии Windows не могут делать такие вещи, например win7 basic, win7 home, win8.
Я могу проверить версию Windows и сравнить ее со списком версий, совместимых с RDP-хостом, но мне интересно, есть ли более распространенный способ проверить эту возможность. Может быть, какой-нибудь метод WinAPI или специальный ключ реестра.
Какие-либо предложения?
Насколько я понимаю MSDN Remote Desktop Services Администрирование функция NetServerGetInfo должен дать вам информацию, которую вы хотите.
LPSERVER_INFO_101 pSI = NULL;
if(NetServerGetInfo(NULL, 101, (LPBYTE*)&pSI) == NErr_Success) {
const bool bIsTerminalServer = pSI->sv101_type & SV_TYPE_TERMINALSERVER;
NetApiBufferFree(pSI);
}
Другие сообщения группы новостей предлагают проверить, если служба TermService
работает (вы можете использовать QueryServiceStatusEx
для этого).
Как предположил Дэвид Хеффернан, проверка издания была жестко запрограммирована.