Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class RdpClient
- {
- #region "Fields"
- private string _server, _username, _password;
- public AxMSTSCLib.AxMsTscAxNotSafeForScripting _rdp = new AxMSTSCLib.AxMsTscAxNotSafeForScripting();
- #endregion
- #region "Encapsulation"
- public string Server { get => _server; set => _server = value; }
- public string Username { get => _username; set => _username = value; }
- public string Password { get => _password; set => _password = value; }
- #endregion
- #region "Events"
- public delegate void OnErrorHandler(string server);
- public delegate void OnSuccessHandler(string server, string username, string password);
- public delegate void OnConnectedHandler(string server);
- public event OnErrorHandler OnError;
- public event OnSuccessHandler OnSuccess;
- public event OnConnectedHandler OnConnected;
- #endregion
- #region "Methods"
- public RdpClient(string server, string username, string password)
- {
- Server = server;
- Username = username;
- Password = password;
- _rdp.CreateControl();
- ((IMsRdpClientAdvancedSettings5)_rdp.AdvancedSettings).BitmapVirtualCache32BppSize = 48;
- ((IMsRdpClientAdvancedSettings5)_rdp.AdvancedSettings).EnableWindowsKey = 1;
- IMsTscNonScriptable _rdpPassword = (IMsTscNonScriptable)_rdp.GetOcx();
- _rdp.Server = Server;
- _rdp.UserName = Username;
- _rdpPassword.ClearTextPassword = Password;
- _rdp.OnLoginComplete += _rdp_OnLoginComplete;
- _rdp.OnConnected += _rdp_OnConnected;
- _rdp.OnLogonError += _rdp_OnLogonError;
- _rdp.OnFatalError += _rdp_OnFatalError;
- }
- public void Connect()
- {
- _rdp.Connect();
- }
- #endregion
- #region "Inner Events"
- private void _rdp_OnFatalError(object sender, AxMSTSCLib.IMsTscAxEvents_OnFatalErrorEvent e)
- {
- OnError?.Invoke(Server);
- }
- private void _rdp_OnLogonError(object sender, AxMSTSCLib.IMsTscAxEvents_OnLogonErrorEvent e)
- {
- OnError?.Invoke(Server);
- }
- private void _rdp_OnConnected(object sender, EventArgs e)
- {
- OnConnected?.Invoke(Server);
- }
- private void _rdp_OnLoginComplete(object sender, EventArgs e)
- {
- OnSuccess?.Invoke(Server, Username, Password);
- }
- #endregion
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement