2015-01-29 2 views
-1

Я работаю над программой, которая позволит пользователям подключаться к одной из трех учетных записей на терминальном сервере. Они смогут выбирать между внутренним соединением или внешним подключением, в зависимости от того, работают ли они в офисе или дома.Приложение для подключения к серверу терминалов VB.NET

Только один пользователь может использовать учетную запись в любой момент времени, поэтому я пытаюсь сделать так, чтобы программа отказала в доступе, если пользователь уже подключен, но я сталкиваюсь с проблемами.

  1. Я использую функцию Shell для запуска пакетных файлов, которые подключаются к серверу терминалов. Это дешевый способ делать что-то, и он не работает хорошо: Remote Desktop Connection запоминает попытки входа на тот же сервер, поэтому иногда он подключает меня к неправильной учетной записи. Я также не могу выбрать тип соединения с помощью этого метода.

  2. Я искал способы определения того, был ли пользователь еще включен или нет, но я не знаю, что будет работать. Возможно, что-то, что будет читать/записывать файл журнала на сервере терминалов, я не знаю, как это сделать.

Есть ли что-нибудь в VB.NET, что позволит мне сделать это?

+0

[SO] - это не рекомендация по написанию кода или рекомендации по обучению. Но я бы предложил просмотреть элемент управления [Remote Desktop ActiveX] (https://msdn.microsoft.com/en-us/library/hh339677%28v=vs.85%29.aspx). – Richard

+0

Хорошо, спасибо! – Tops

ответ

0

Я думаю, что трюк, который вы можете использовать, - это когда пользователь выходит из приложения, посылает какой-то сигнал или прощальное сообщение, а затем на вашем сервере вам придется его модифицировать, чтобы закрыть все подключения к этому клиенту, который выполнил отслеживание на прощание сообщение, я думаю, что это поможет, я сделал что-то близко к этому, кроме того, что я не выходил из любого пользователя, но использовал полученное сообщение, чтобы заставить клиента сделать что-то еще с помощью инструмента Winsock.

Смежные вопросы