diff --git a/Remontor/.vs/Remontor/v17/.suo b/Remontor/.vs/Remontor/v17/.suo index c18f36c..17363d7 100644 Binary files a/Remontor/.vs/Remontor/v17/.suo and b/Remontor/.vs/Remontor/v17/.suo differ diff --git a/Remontor/AboutForm.Designer.cs b/Remontor/AboutForm.Designer.cs index c048128..14f3ea4 100644 --- a/Remontor/AboutForm.Designer.cs +++ b/Remontor/AboutForm.Designer.cs @@ -42,9 +42,9 @@ this.label1.AutoSize = true; this.label1.Location = new System.Drawing.Point(12, 180); this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(355, 13); + this.label1.Size = new System.Drawing.Size(347, 13); this.label1.TabIndex = 0; - this.label1.Text = "SCCMманагер программа для удобной организации работы c CSSM\r\n"; + this.label1.Text = "SCCMанагер программа для удобной организации работы c CSSM\r\n"; // // label20 // diff --git a/Remontor/Connector/Connect.cs b/Remontor/Connector/Connect.cs index c12322a..993ac24 100644 --- a/Remontor/Connector/Connect.cs +++ b/Remontor/Connector/Connect.cs @@ -103,15 +103,30 @@ namespace Remontor.Connector SetParent(Proc.MainWindowHandle, View.Handle); SetWindowLong(Proc.MainWindowHandle, GWL_STYLE, WS_VISIBLE); ModeMonitor.Resize(Proc, View); + ModeMonitor.Resize(Proc, View); - // hwnd = GetWindowHandleByTitle("Устанавливается контакт с агентом удаленного управления на клиенте " + ConnectStr); + Thread.Sleep(50); - hwnd = GetWindowHandleByTitle("Contacting Remote Control Agent on client " + ConnectStr); + + hwnd = GetWindowHandleByTitle("Устанавливается контакт с агентом удаленного управления на клиенте " + ConnectStr.Split(' ')[0]) ; + // hwnd = GetWindowHandleByTitle("Contacting Remote Control Agent on client " + ConnectStr); Point CenterView = new Point(View.Bounds.Width/2, View.Bounds.Height/2); Point CenterDraw = View.PointToScreen(CenterView); MoveWindow(hwnd, CenterDraw.X- 325, CenterDraw.Y - 125 ,650,250,true); + + Task.Run(new Action(() => { + Thread.Sleep(3000); + System.Console.WriteLine("reenew"); + + SConnector.FormMain.Invoke(new MethodInvoker(delegate + { + Resize(); + })); + })); + - } + + } catch (Exception) { MessageBox.Show("Не верно заданно приложение для подключения."); ModeMonitor = new OffMon(); @@ -169,10 +184,13 @@ namespace Remontor.Connector { this.Active = act; View.Visible = act; - if (act) Resize(); + // if (act) Resize(); if (act) { ShowWindow(hwnd, 5); + + ModeMonitor.Set(); + ModeMonitor.Resize(Proc, View); Point CenterView = new Point(View.Bounds.Width / 2, View.Bounds.Height / 2); Point CenterDraw = View.PointToScreen(CenterView); MoveWindow(hwnd, CenterDraw.X - 325, CenterDraw.Y - 125, 650, 250, true); @@ -183,7 +201,7 @@ namespace Remontor.Connector } - ModeMonitor.Resize(Proc, View); + Update(); } @@ -201,6 +219,11 @@ namespace Remontor.Connector MoveWindow(hwnd, CenterDraw.X - 325, CenterDraw.Y - 125, 650, 250, true); } + public void StateChange() + { + ModeMonitor.Set(); + } + public IModeMon GetModeMon() { return ModeMonitor; @@ -209,6 +232,7 @@ namespace Remontor.Connector public IModeMon SetModeMon(IModeMon Mode) { ModeMonitor = ModeMonitor.Change(Mode); + ModeMonitor.Set(); ModeMonitor.Resize(Proc, View); return ModeMonitor; } diff --git a/Remontor/Connector/DobleMonFull.cs b/Remontor/Connector/DobleMonFull.cs index 8a0ca7e..c4649f1 100644 --- a/Remontor/Connector/DobleMonFull.cs +++ b/Remontor/Connector/DobleMonFull.cs @@ -23,13 +23,22 @@ namespace Remontor.Connector private int over = 0; public DobleMonFull() { - OldWidth = SConnector.FormMain.Bounds.Width; - OldHeight = SConnector.FormMain.Height; - OldState = SConnector.FormMain.WindowState; - OldPoint = SConnector.FormMain.Location; + // OldWidth = SConnector.FormMain.Bounds.Width; + //OldHeight = SConnector.FormMain.Height; + //OldState = SConnector.FormMain.WindowState; + //OldPoint = SConnector.FormMain.Location; + //System.Console.WriteLine(OldWidth.ToString()); + //System.Console.WriteLine(OldHeight.ToString()); + + } + public override void Set() + { + } public override void Resize(Process Proc, Control View) { + if (Chanded) return; + Chanded = true; if (over == 0) { over = 1; @@ -38,32 +47,20 @@ namespace Remontor.Connector { over = 0; } - if (Chanded) return; - Chanded = true; + + SConnector.FormMain.WindowState = FormWindowState.Normal; - Chanded = false; SConnector.FormMain.Width = SGlobalSetting.settingApp.WidthDoble; SConnector.FormMain.Height = SGlobalSetting.settingApp.HeightDoble; SConnector.FormMain.Location = new System.Drawing.Point(SGlobalSetting.settingApp.xPosDoble, SGlobalSetting.settingApp.yPosDoble); + Chanded = false; MoveWindow(Proc.MainWindowHandle, View.Bounds.X, View.Bounds.Y + 9, View.Bounds.Width, View.Bounds.Height - 9 + over, true); } public override IModeMon Change(IModeMon Mode) { - - if (!(Mode is DobleMonFull)) - { - Chanded = true; - SConnector.FormMain.WindowState = OldState; - SConnector.FormMain.Width = OldWidth; - SConnector.FormMain.Height = OldHeight; - SConnector.FormMain.Location = OldPoint; - Chanded = false; - } - else - { - return this; - } + + if (Mode == this) return this; return Mode; } } diff --git a/Remontor/Connector/DobleMonOne.cs b/Remontor/Connector/DobleMonOne.cs index adf89e8..05453c6 100644 --- a/Remontor/Connector/DobleMonOne.cs +++ b/Remontor/Connector/DobleMonOne.cs @@ -15,9 +15,22 @@ namespace Remontor.Connector [DllImport("user32.dll")] static extern bool MoveWindow(IntPtr Handle, int x, int y, int w, int h, bool repaint); private int over = 0; - public DobleMonOne() { } - public override void Resize(Process Proc, Control View) + private bool Chanded = true; + public DobleMonOne() { + + } + public override void Set() { + Chanded = true; + SConnector.FormMain.WindowState = SConnector.WindowState; + SConnector.FormMain.Location = new System.Drawing.Point(SConnector.x, SConnector.y); + SConnector.FormMain.Width = SConnector.Width; + SConnector.FormMain.Height = SConnector.Height; + Chanded = false; + } + public override void Resize(Process Proc, Control View) + { + if (Chanded) return; if (over == 0) { over = 1; @@ -26,6 +39,17 @@ namespace Remontor.Connector { over = 0; } + + Chanded = true; + if(SConnector.FormMain.WindowState == FormWindowState.Normal) + { + SConnector.Width = SConnector.FormMain.Width; + SConnector.Height = SConnector.FormMain.Height; + SConnector.x = SConnector.FormMain.Location.X; + SConnector.y = SConnector.FormMain.Location.Y; + } + SConnector.WindowState = SConnector.FormMain.WindowState; + Chanded = false; MoveWindow(Proc.MainWindowHandle, View.Bounds.X, View.Bounds.Y + 9, View.Bounds.Width * 2, View.Bounds.Height - 9 + over, true); } public override IModeMon Change(IModeMon Mode) diff --git a/Remontor/Connector/DobleMonTwo.cs b/Remontor/Connector/DobleMonTwo.cs index 9b9133b..c1c54e7 100644 --- a/Remontor/Connector/DobleMonTwo.cs +++ b/Remontor/Connector/DobleMonTwo.cs @@ -14,9 +14,22 @@ namespace Remontor.Connector [DllImport("user32.dll")] static extern bool MoveWindow(IntPtr Handle, int x, int y, int w, int h, bool repaint); private int over = 0; - public DobleMonTwo() { } - public override void Resize(Process Proc, Control View) + private bool Chanded = true; + public DobleMonTwo() { + + } + public override void Set() { + Chanded = true; + SConnector.FormMain.WindowState = SConnector.WindowState; + SConnector.FormMain.Location = new System.Drawing.Point(SConnector.x, SConnector.y); + SConnector.FormMain.Width = SConnector.Width; + SConnector.FormMain.Height = SConnector.Height; + Chanded = false; + } + public override void Resize(Process Proc, Control View) + { + if (Chanded) return; if (over == 0) { over = 1; @@ -25,6 +38,17 @@ namespace Remontor.Connector { over = 0; } + + Chanded = true; + if (SConnector.FormMain.WindowState == FormWindowState.Normal) + { + SConnector.Width = SConnector.FormMain.Width; + SConnector.Height = SConnector.FormMain.Height; + SConnector.x = SConnector.FormMain.Location.X; + SConnector.y = SConnector.FormMain.Location.Y; + } + SConnector.WindowState = SConnector.FormMain.WindowState; + Chanded = false; MoveWindow(Proc.MainWindowHandle, View.Bounds.X - View.Bounds.Width, View.Bounds.Y + 9, View.Bounds.Width * 2, View.Bounds.Height - 9 + over, true); } public override IModeMon Change(IModeMon Mode) diff --git a/Remontor/Connector/IModeMon.cs b/Remontor/Connector/IModeMon.cs index b61e7f0..aa38f82 100644 --- a/Remontor/Connector/IModeMon.cs +++ b/Remontor/Connector/IModeMon.cs @@ -13,5 +13,6 @@ namespace Remontor.Connector { public abstract void Resize(Process Proc, Control View); public abstract IModeMon Change(IModeMon Mode); + public abstract void Set(); } } diff --git a/Remontor/Connector/OffMon.cs b/Remontor/Connector/OffMon.cs index ee17369..2387a5b 100644 --- a/Remontor/Connector/OffMon.cs +++ b/Remontor/Connector/OffMon.cs @@ -13,9 +13,20 @@ namespace Remontor.Connector { [DllImport("user32.dll")] static extern bool MoveWindow(IntPtr Handle, int x, int y, int w, int h, bool repaint); - public OffMon() { } + private bool Chanded = true; + public OffMon() { + // SConnector.FormMain.Bounds = SConnector.MainBounds; + Chanded = false; + } + + public override void Set() + { + + } public override void Resize(Process Proc, Control View) { + if (Chanded) return; + // SConnector.MainBounds = SConnector.FormMain.Bounds; } public override IModeMon Change(IModeMon Mode) { diff --git a/Remontor/Connector/OneMon.cs b/Remontor/Connector/OneMon.cs index 4f592ec..93f4e9a 100644 --- a/Remontor/Connector/OneMon.cs +++ b/Remontor/Connector/OneMon.cs @@ -1,4 +1,5 @@ -using System; +using Remontor.Setting; +using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; @@ -13,12 +14,27 @@ namespace Remontor.Connector { [DllImport("user32.dll")] static extern bool MoveWindow(IntPtr Handle, int x, int y, int w, int h, bool repaint); - private int over = 0; + private int over = 0; + private bool Chanded = true; - public OneMon() { } + public OneMon() { + + } + + public override void Set() + { + Chanded = true; + SConnector.FormMain.WindowState = SConnector.WindowState; + SConnector.FormMain.Location = new System.Drawing.Point(SConnector.x, SConnector.y); + SConnector.FormMain.Width = SConnector.Width; + SConnector.FormMain.Height = SConnector.Height; + Chanded = false; + } public override void Resize(Process Proc, Control View) { - if(over == 0) + if (Chanded) return; + ; + if (over == 0) { over = 1; } @@ -26,6 +42,17 @@ namespace Remontor.Connector { over = 0; } + Chanded = true; + if (SConnector.FormMain.WindowState == FormWindowState.Normal) + { + SConnector.Width = SConnector.FormMain.Width; + SConnector.Height = SConnector.FormMain.Height; + SConnector.x = SConnector.FormMain.Location.X; + SConnector.y = SConnector.FormMain.Location.Y; + + } + SConnector.WindowState = SConnector.FormMain.WindowState; + Chanded = false; MoveWindow(Proc.MainWindowHandle, View.Bounds.X, View.Bounds.Y + 9, View.Bounds.Width, View.Bounds.Height - 9 + over, true); } public override IModeMon Change(IModeMon Mode) diff --git a/Remontor/Connector/SConnector.cs b/Remontor/Connector/SConnector.cs index 498551a..225200c 100644 --- a/Remontor/Connector/SConnector.cs +++ b/Remontor/Connector/SConnector.cs @@ -21,6 +21,8 @@ namespace Remontor.Connector public static Control Panel; public static Form1 FormMain; public static Connect ActionConnect = null; + public static int x,y, Width, Height; + public static FormWindowState WindowState = FormWindowState.Normal; public static void NewConnect(IComp comp) { Connect con = new Connect(comp); @@ -92,6 +94,14 @@ namespace Remontor.Connector } } + public static void StateChangeActiv() + { + if (ActionConnect != null) + { + ActionConnect.StateChange(); + } + } + public static int ActivConnect() { return Connects.Count(); diff --git a/Remontor/Form1.Designer.cs b/Remontor/Form1.Designer.cs index 8bd501c..4135b74 100644 --- a/Remontor/Form1.Designer.cs +++ b/Remontor/Form1.Designer.cs @@ -121,7 +121,7 @@ this.DoubleBuffered = true; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Name = "Form1"; - this.Text = "SCCMманагер"; + this.Text = "SCCMанагер"; this.Deactivate += new System.EventHandler(this.Form1_Deactivate); this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing); this.Load += new System.EventHandler(this.Form1_Load); diff --git a/Remontor/Form1.cs b/Remontor/Form1.cs index 5c1f81a..383b5ab 100644 --- a/Remontor/Form1.cs +++ b/Remontor/Form1.cs @@ -24,6 +24,7 @@ namespace Remontor public bool CloseOn = false; public bool ShowOn = false; + private FormWindowState lastWindowsState = FormWindowState.Minimized; public MenuStripCommand MenuStripCommand; public Form1() { @@ -35,6 +36,7 @@ namespace Remontor barSessionControl1.hideTabSetting += flowConteinerSetting1.HideBar; SConnector.Panel = this.panel3; SConnector.FormMain = this; + MenuStripCommand = new MenuStripCommand(); MenuStripCommand.UpdateTree += flowContainerWords1.UpdateTree; @@ -53,6 +55,18 @@ namespace Remontor private void tabControl1_SizeChanged(object sender, EventArgs e) { SConnector.ResizeActiv(); + if (this.WindowState != lastWindowsState) + { + + lastWindowsState = this.WindowState; + // if(this.WindowState == FormWindowState.Maximized) SConnector.WindowState = FormWindowState.Maximized; + //if (this.WindowState == FormWindowState.Normal) + //{ + // SConnector.WindowState = FormWindowState.Normal; + SConnector.StateChangeActiv(); + //} + } + } @@ -73,7 +87,10 @@ namespace Remontor private void Form1_Load(object sender, EventArgs e) { - + SConnector.x = this.Bounds.X; + SConnector.y = this.Bounds.Y; + SConnector.Width = this.Bounds.Width; + SConnector.Height = this.Bounds.Height; } private void barSessionControl1_Load(object sender, EventArgs e) diff --git a/Remontor/Picter/SPicManager.cs b/Remontor/Picter/SPicManager.cs index 54ff116..4ad0dcd 100644 --- a/Remontor/Picter/SPicManager.cs +++ b/Remontor/Picter/SPicManager.cs @@ -25,8 +25,7 @@ namespace Remontor.Picter } } - else - { + if (comp.GetName() != null) { @@ -41,7 +40,7 @@ namespace Remontor.Picter new PicLoaderTask(comp.GetName(), image); } } - } + } static public void WriteResult(PicBase picBase) diff --git a/Remontor/bin/Debug/Remontor.exe b/Remontor/bin/Debug/Remontor.exe index 0b710ef..d18b580 100644 Binary files a/Remontor/bin/Debug/Remontor.exe and b/Remontor/bin/Debug/Remontor.exe differ diff --git a/Remontor/bin/Debug/Remontor.pdb b/Remontor/bin/Debug/Remontor.pdb index f1c9596..dc47e14 100644 Binary files a/Remontor/bin/Debug/Remontor.pdb and b/Remontor/bin/Debug/Remontor.pdb differ diff --git a/Remontor/bin/Debug/res.dat b/Remontor/bin/Debug/res.dat index db805bc..7531248 100644 Binary files a/Remontor/bin/Debug/res.dat and b/Remontor/bin/Debug/res.dat differ diff --git a/Remontor/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/Remontor/obj/Debug/DesignTimeResolveAssemblyReferences.cache index fe3d544..314ba26 100644 Binary files a/Remontor/obj/Debug/DesignTimeResolveAssemblyReferences.cache and b/Remontor/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/Remontor/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/Remontor/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index 2b43a6c..5adbf63 100644 Binary files a/Remontor/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/Remontor/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/Remontor/obj/Debug/Remontor.csproj.GenerateResource.cache b/Remontor/obj/Debug/Remontor.csproj.GenerateResource.cache index 5a9e46e..35626d9 100644 Binary files a/Remontor/obj/Debug/Remontor.csproj.GenerateResource.cache and b/Remontor/obj/Debug/Remontor.csproj.GenerateResource.cache differ diff --git a/Remontor/obj/Debug/Remontor.exe b/Remontor/obj/Debug/Remontor.exe index 0b710ef..d18b580 100644 Binary files a/Remontor/obj/Debug/Remontor.exe and b/Remontor/obj/Debug/Remontor.exe differ diff --git a/Remontor/obj/Debug/Remontor.pdb b/Remontor/obj/Debug/Remontor.pdb index f1c9596..dc47e14 100644 Binary files a/Remontor/obj/Debug/Remontor.pdb and b/Remontor/obj/Debug/Remontor.pdb differ