Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. class RdpClient
  2. {
  3. #region "Fields"
  4. private string _server, _username, _password;
  5. public AxMSTSCLib.AxMsTscAxNotSafeForScripting _rdp = new AxMSTSCLib.AxMsTscAxNotSafeForScripting();
  6. #endregion
  7. #region "Encapsulation"
  8. public string Server { get => _server; set => _server = value; }
  9. public string Username { get => _username; set => _username = value; }
  10. public string Password { get => _password; set => _password = value; }
  11. #endregion
  12. #region "Events"
  13. public delegate void OnErrorHandler(string server);
  14. public delegate void OnSuccessHandler(string server, string username, string password);
  15. public delegate void OnConnectedHandler(string server);
  16. public event OnErrorHandler OnError;
  17. public event OnSuccessHandler OnSuccess;
  18. public event OnConnectedHandler OnConnected;
  19. #endregion
  20. #region "Methods"
  21. public RdpClient(string server, string username, string password)
  22. {
  23. Server = server;
  24. Username = username;
  25. Password = password;
  26.  
  27. _rdp.CreateControl();
  28. ((IMsRdpClientAdvancedSettings5)_rdp.AdvancedSettings).BitmapVirtualCache32BppSize = 48;
  29. ((IMsRdpClientAdvancedSettings5)_rdp.AdvancedSettings).EnableWindowsKey = 1;
  30. IMsTscNonScriptable _rdpPassword = (IMsTscNonScriptable)_rdp.GetOcx();
  31. _rdp.Server = Server;
  32. _rdp.UserName = Username;
  33. _rdpPassword.ClearTextPassword = Password;
  34. _rdp.OnLoginComplete += _rdp_OnLoginComplete;
  35. _rdp.OnConnected += _rdp_OnConnected;
  36. _rdp.OnLogonError += _rdp_OnLogonError;
  37. _rdp.OnFatalError += _rdp_OnFatalError;
  38. }
  39. public void Connect()
  40. {
  41. _rdp.Connect();
  42. }
  43. #endregion
  44. #region "Inner Events"
  45. private void _rdp_OnFatalError(object sender, AxMSTSCLib.IMsTscAxEvents_OnFatalErrorEvent e)
  46. {
  47. OnError?.Invoke(Server);
  48. }
  49.  
  50. private void _rdp_OnLogonError(object sender, AxMSTSCLib.IMsTscAxEvents_OnLogonErrorEvent e)
  51. {
  52. OnError?.Invoke(Server);
  53. }
  54.  
  55. private void _rdp_OnConnected(object sender, EventArgs e)
  56. {
  57. OnConnected?.Invoke(Server);
  58. }
  59.  
  60. private void _rdp_OnLoginComplete(object sender, EventArgs e)
  61. {
  62. OnSuccess?.Invoke(Server, Username, Password);
  63. }
  64. #endregion
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement