[C#] RPD чекер

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by DavyJohnes, 13 Feb 2014.

  1. DavyJohnes

    DavyJohnes New Member

    Joined:
    29 May 2011
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте! Требуется написать программу для проверки валидности логина и пароля rdp подключения. Был ли у кого подобный опыт? Как я понял, все можно реализовать с помощью стандартной библиотеки mstsclib. Где найти информацию по работе с ней? Единственное, чего получилось добиться от работы с этой библиотекой - кинуть элемент на форму (потому что просто так классы почему-то не создаются), программно забить Ip,login,password и подключиться. А как проверить что подключение удалось, что логин и пароль верные? И как работать без элемента на форме? В идеале вообще в консольном режиме, без создания форм.
    Заранее благодарю за помощь.
     
  2. qw1mb1

    qw1mb1 Member

    Joined:
    8 Feb 2013
    Messages:
    113
    Likes Received:
    16
    Reputations:
    8
    для отслеживания удачного подключения можно использовать событие OnConnect
    создавать его динамически, как это делается можно посмотреть тут http://msdn.microsoft.com/ru-ru/library/ee461504.aspx
     
  3. DavyJohnes

    DavyJohnes New Member

    Joined:
    29 May 2011
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    вы хотели сказать OnConnected? Так это событие возникает в любом случае, если сервер отвечает по 3389 порту.
     
  4. #colorblind

    #colorblind Moderator

    Joined:
    31 Jan 2014
    Messages:
    637
    Likes Received:
    246
    Reputations:
    42
    Писать программу работающую с протоколом, не зная самого протокола - это не круто. Советую для начала почитать RFC908
     
  5. DavyJohnes

    DavyJohnes New Member

    Joined:
    29 May 2011
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Это все конечно классно, я бы сам в подобной ситуации так ответил. Но четкое понимаю протокола требуется для низкоуровневого программирования, в данном случае используя tcp\udp сокеты. Но я собираюсь использовать уже готовые обертки, которое сконцентрированы в библиотеке mstsclib, т.к. нужно решить довольно тривиальную задачу. Следовательно не столь важно понимать принципы работа с протоколом rdp, сколь важно иметь опыт работы с библотекой классов mstsclib, примеры чего я и пытаюсь найти.
     
  6. Kandi

    Kandi Member

    Joined:
    18 Nov 2009
    Messages:
    344
    Likes Received:
    17
    Reputations:
    0
    Так не канает?
    Code:
    try
    {
         rdClient.Server = server;
         rdClient.UserName = userNameBase;    
    
         /*IMsTscNonScriptable secured = (IMsTscNonScriptable)rdClient.GetOcx();
         secured.ClearTextPassword = passwordBase;*/
    
         rdClient.AdvancedSettings8.DisplayConnectionBar = true;
         rdClient.AdvancedSettings8.ClearTextPassword = rdClient.AdvancedSettings8.EncryptionEnabled = -1;                 
    
         //// Start connection
         rdClient.Connect();
         MessageBox.Show("Connection Status + " + rdClient.Connected.ToString());
    
    }
    catch (Exception Ex)
    {
         MessageBox.Show("Exception ocurred: " + Ex.Message);
    }
    
    Connect() - подключение.
    Connected() - возвращает статус подключения True \ False

    Вообще вот примеры есть:
    _http://www.codeproject.com/Articles/43705/Remote-Desktop-using-C-NET
    _http://stackoverflow.com/questions/7198725/running-com-component-controls-on-multiple-threads

    Да и google штука крутая :rolleyes:
     
  7. fbidesign

    fbidesign Member

    Joined:
    13 Jul 2008
    Messages:
    79
    Likes Received:
    12
    Reputations:
    0
    rdClient где достал?

    Не могу найти компонент TrdClient, гугл предлагает скачать с каких-то китайских сайтов с обязательной регистрацией.

    Можно ссылку или исходники компнента архивчиком?
     
  8. Kandi

    Kandi Member

    Joined:
    18 Nov 2009
    Messages:
    344
    Likes Received:
    17
    Reputations:
    0
    Благо Microsoft хранит всё в Windows

    _http://www.vr-online.ru/?q=content/kuem-rdp-i-vnc-klientov-805

    За 10 минут сворганил, если не меньше. Дальше сами додумывайте, что и к чему.

    _http://rghost.ru/53264520
     
    #8 Kandi, 22 Mar 2014
    Last edited: 22 Mar 2014
  9. DavyJohnes

    DavyJohnes New Member

    Joined:
    29 May 2011
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Уважаемые, помогите решить проблему. С компонентами MSTSClib разобрался, подключение и проверку логина\пароля настроил, остался один нюанс: если на сервер разрешена авторизация без пароля, только по логину, то подключение почему то не проходит, при попытке соединиться с пустым паролем компонент выкидывает на экран выбора пользователя, при этом если нажать на пользователя, которому разрешен вход без пароля - в систему пускает. Как программно зайти в систему под пользователем без пароля?