From de3072c67eee5c910a8a1ffac166cdc0c729adda Mon Sep 17 00:00:00 2001 From: Faryan Rezagholi Date: Sun, 8 Sep 2019 13:02:58 +0200 Subject: [PATCH] Added ConsoleControl, since it seems that the powershell.exe cannot be integrated --- CREDITS.md | 5 ++ .../Connection.Protocol.PowerShell.cs | 82 ++++-------------- mRemoteV1/Console.ico | Bin 0 -> 32591 bytes mRemoteV1/mRemoteV1.csproj | 7 ++ mRemoteV1/packages.config | 2 + 5 files changed, 29 insertions(+), 67 deletions(-) create mode 100644 mRemoteV1/Console.ico diff --git a/CREDITS.md b/CREDITS.md index 68a2bdc1e..1f8432754 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -140,3 +140,8 @@ Markdig Copyright © 2016-2019 Alexandre Mutel BSD 2-Clause "Simplified" https://github.com/lunet-io/markdig + +ConsoleControl +Copyright © 2015 Dave Kerr +MIT License +https://github.com/dwmkerr/consolecontrol \ No newline at end of file diff --git a/mRemoteV1/Connection/Protocol/PowerShell/Connection.Protocol.PowerShell.cs b/mRemoteV1/Connection/Protocol/PowerShell/Connection.Protocol.PowerShell.cs index 821b18b82..186495e37 100644 --- a/mRemoteV1/Connection/Protocol/PowerShell/Connection.Protocol.PowerShell.cs +++ b/mRemoteV1/Connection/Protocol/PowerShell/Connection.Protocol.PowerShell.cs @@ -6,7 +6,6 @@ using System.Threading; using System.Windows.Forms; using mRemoteNG.App; using mRemoteNG.Messages; -using mRemoteNG.Tools; namespace mRemoteNG.Connection.Protocol.PowerShell { @@ -15,8 +14,8 @@ namespace mRemoteNG.Connection.Protocol.PowerShell #region Private Fields private IntPtr _handle; - private Process _process; private readonly ConnectionInfo _connectionInfo; + private ConsoleControl.ConsoleControl _consoleControl; public ProtocolPowerShell(ConnectionInfo connectionInfo) { @@ -33,27 +32,24 @@ namespace mRemoteNG.Connection.Protocol.PowerShell { Runtime.MessageCollector?.AddMessage(MessageClass.InformationMsg, $"Attempting to start remote PowerShell session.", true); - - _process = new Process + + _consoleControl = new ConsoleControl.ConsoleControl { - StartInfo = - { - UseShellExecute = true, - FileName = @"C:\Windows\system32\WindowsPowerShell\v1.0\PowerShell.exe", - Arguments = $@"-NoExit -Command ""$password = ConvertTo-SecureString '{_connectionInfo.Password}' -AsPlainText -Force; $cred = New-Object System.Management.Automation.PSCredential -ArgumentList @('{_connectionInfo.Domain}\{_connectionInfo.Username}', $password); Enter-PSSession -ComputerName {_connectionInfo.Hostname} -Credential $cred""" - }, - EnableRaisingEvents = true, + Dock = DockStyle.Fill, + BackColor = Color.DarkBlue, + ForeColor = Color.White, + IsInputEnabled = true, + Padding = new Padding(0, 20, 0, 0) }; + + _consoleControl.StartProcess(@"C:\Windows\system32\WindowsPowerShell\v1.0\PowerShell.exe", + $@"-NoExit -Command ""$password = ConvertTo-SecureString '{_connectionInfo.Password}' -AsPlainText -Force; $cred = New-Object System.Management.Automation.PSCredential -ArgumentList @('{_connectionInfo.Domain}\{_connectionInfo.Username}', $password); Enter-PSSession -ComputerName {_connectionInfo.Hostname} -Credential $cred"""); - _process.Exited += ProcessExited; - _process.Start(); - _process.WaitForInputIdle(); - - NativeMethods.SetParent(_process.Handle, InterfaceControl.Handle); - - + while (!_consoleControl.IsHandleCreated) break; + _handle = _consoleControl.Handle; + NativeMethods.SetParent(_handle, InterfaceControl.Handle); - //Resize(this, new EventArgs()); + Resize(this, new EventArgs()); base.Connect(); return true; } @@ -64,9 +60,6 @@ namespace mRemoteNG.Connection.Protocol.PowerShell } } - [DllImport("user32.dll")] - static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent); - public override void Focus() { try @@ -96,51 +89,6 @@ namespace mRemoteNG.Connection.Protocol.PowerShell } } - public override void Close() - { - /* only attempt this if we have a valid process object - * Non-integrated tools will still call base.Close() and don't have a valid process object. - * See Connect() above... This just muddies up the log. - */ - if (_process != null) - { - try - { - if (!_process.HasExited) - { - _process.Kill(); - } - } - catch (Exception ex) - { - Runtime.MessageCollector.AddExceptionMessage(Language.strIntAppKillFailed, ex); - } - - try - { - if (!_process.HasExited) - { - _process.Dispose(); - } - } - catch (Exception ex) - { - Runtime.MessageCollector.AddExceptionMessage(Language.strIntAppDisposeFailed, ex); - } - } - - base.Close(); - } - - #endregion - - #region Private Methods - - private void ProcessExited(object sender, EventArgs e) - { - Event_Closed(this); - } - #endregion #region Enumerations diff --git a/mRemoteV1/Console.ico b/mRemoteV1/Console.ico new file mode 100644 index 0000000000000000000000000000000000000000..6800624b9fccaaeda43ddd7ac4696492640f2780 GIT binary patch literal 32591 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 U|0aZb`dfi!)xSdmR1V?)0m^j7jsO4v literal 0 HcmV?d00001 diff --git a/mRemoteV1/mRemoteV1.csproj b/mRemoteV1/mRemoteV1.csproj index 1c2564136..b6d972b20 100644 --- a/mRemoteV1/mRemoteV1.csproj +++ b/mRemoteV1/mRemoteV1.csproj @@ -54,6 +54,12 @@ ..\packages\BouncyCastle.1.8.5\lib\BouncyCastle.Crypto.dll + + ..\packages\ConsoleControl.1.2.1\lib\net40-client\ConsoleControl.dll + + + ..\packages\ConsoleControlAPI.1.2.1\lib\net40\ConsoleControlAPI.dll + ..\packages\Geckofx60.32.60.0.37\lib\net45\Geckofx-Core.dll @@ -1190,6 +1196,7 @@ + diff --git a/mRemoteV1/packages.config b/mRemoteV1/packages.config index d7473d451..a98851557 100644 --- a/mRemoteV1/packages.config +++ b/mRemoteV1/packages.config @@ -1,6 +1,8 @@  + +