diff --git a/COMPortReseter.csproj b/COMPortReseter.csproj new file mode 100644 index 0000000..750439e --- /dev/null +++ b/COMPortReseter.csproj @@ -0,0 +1,88 @@ + + + + + Debug + AnyCPU + {9256129B-DE42-45C9-9C5E-B9FE60BA6BFD} + WinExe + COMPortReseter + COMPortReseter + v4.0 + 512 + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + serial_port_computer_qV2ky.ico + + + + app.manifest + + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + \ No newline at end of file diff --git a/Form1.Designer.cs b/Form1.Designer.cs new file mode 100644 index 0000000..2284c57 --- /dev/null +++ b/Form1.Designer.cs @@ -0,0 +1,104 @@ +namespace COMPortReseter +{ + partial class Form1 + { + /// + /// Variable nécessaire au concepteur. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Nettoyage des ressources utilisées. + /// + /// true si les ressources managées doivent être supprimées ; sinon, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Code généré par le Concepteur Windows Form + + /// + /// Méthode requise pour la prise en charge du concepteur - ne modifiez pas + /// le contenu de cette méthode avec l'éditeur de code. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); + this.checkedListBox1 = new System.Windows.Forms.CheckedListBox(); + this.button1 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.label1 = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // checkedListBox1 + // + this.checkedListBox1.CheckOnClick = true; + this.checkedListBox1.FormattingEnabled = true; + this.checkedListBox1.Location = new System.Drawing.Point(12, 46); + this.checkedListBox1.Name = "checkedListBox1"; + this.checkedListBox1.Size = new System.Drawing.Size(283, 619); + this.checkedListBox1.TabIndex = 0; + this.checkedListBox1.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.checkedListBox1_ItemCheck); + // + // button1 + // + this.button1.Location = new System.Drawing.Point(35, 670); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(75, 23); + this.button1.TabIndex = 1; + this.button1.Text = "Cancel"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // button2 + // + this.button2.Location = new System.Drawing.Point(184, 670); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(75, 23); + this.button2.TabIndex = 2; + this.button2.Text = "Save"; + this.button2.UseVisualStyleBackColor = true; + this.button2.Click += new System.EventHandler(this.button2_Click); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.ForeColor = System.Drawing.Color.Blue; + this.label1.Location = new System.Drawing.Point(31, 16); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(242, 16); + this.label1.TabIndex = 3; + this.label1.Text = "SET or RESET COM Ports IN USE"; + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(308, 700); + this.Controls.Add(this.label1); + this.Controls.Add(this.button2); + this.Controls.Add(this.button1); + this.Controls.Add(this.checkedListBox1); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "Form1"; + this.Text = "COM Ports Reseter"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.CheckedListBox checkedListBox1; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.Label label1; + } +} + diff --git a/Form1.cs b/Form1.cs new file mode 100644 index 0000000..408bd58 --- /dev/null +++ b/Form1.cs @@ -0,0 +1,253 @@ +using System; +using Microsoft.Win32; +using System.Collections.Generic; +using System.Collections; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.IO.Ports; +using System.Windows.Forms; +using System.ComponentModel; +using System.Diagnostics; +using System.Reflection; +using System.Security.Cryptography; +using System.Security.Permissions; +using System.Security.Principal; +using System.Management; + +namespace COMPortReseter +{ + public partial class Form1 : Form + { + public SerialPort serial; + public List AvailablePorts = new List(); //Available COM Ports List + + public string RegistryKeyAccess = @"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter"; + public string ThisKeyName = "ComDB"; + + public byte[] COM_Ports_Bytes = new byte[] { }; + public byte[] ClearData = new byte[] { 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 }; + public byte[] COM_Ports_Bytes_NEW = new byte[] { }; + + public byte[] NewByte = new byte[1] { 0x00 }; + + public bool LoadingValues = true; + + public Form1() + { + InitializeComponent(); + + AdminRelauncher(); + SpawnList(); + + LoadingValues = false; + } + + private void AdminRelauncher() + { + if (!IsRunAsAdmin()) + { + ProcessStartInfo proc = new ProcessStartInfo(); + proc.UseShellExecute = true; + proc.WorkingDirectory = Environment.CurrentDirectory; + try + { + proc.FileName = Assembly.GetEntryAssembly().CodeBase; + } + catch + { + proc.FileName = Application.ExecutablePath; + } + + proc.Verb = "runas"; + + try + { + Process.Start(proc); + } + catch { } + Environment.Exit(0); + } + } + + private bool IsRunAsAdmin() + { + WindowsIdentity id = WindowsIdentity.GetCurrent(); + WindowsPrincipal principal = new WindowsPrincipal(id); + + return principal.IsInRole(WindowsBuiltInRole.Administrator); + } + + public void GetRegistryKey(string KeyName) + { + COM_Ports_Bytes = (byte[]) Registry.GetValue(RegistryKeyAccess, KeyName, ClearData); + if (COM_Ports_Bytes != null) + { + COM_Ports_Bytes_NEW = COM_Ports_Bytes; + int CurrentByte = 0; + int CurrentBit = 0; + LoadingValues = true; + for (int i = 0; i < 40; i++) + { + if (GetBit(COM_Ports_Bytes[CurrentByte], CurrentBit)) + { + checkedListBox1.SetItemChecked(i, true); + } + + CurrentBit++; + if (CurrentBit >= 8) + { + CurrentByte++; + CurrentBit = 0; + } + } + } + else + { + MessageBox.Show("No Value in COM Name Arbiter"); + } + } + + public void SetBit(int ByteNubmer, int bitNumber, bool Activated) + { + Console.WriteLine("StartByte: " + COM_Ports_Bytes_NEW[ByteNubmer].ToString("X2")); + BitArray bitArray = new BitArray(new byte[] {COM_Ports_Bytes_NEW[ByteNubmer]}); + bitArray.Set(bitNumber, Activated); + bitArray.CopyTo(NewByte, 0); + + Console.WriteLine("EndByte: " + COM_Ports_Bytes_NEW[ByteNubmer].ToString("X2")); + + COM_Ports_Bytes_NEW[ByteNubmer] = NewByte[0]; + } + + public bool GetBit(byte b, int bitNumber) + { + return (b & (1 << bitNumber)) != 0; + } + + public void SetRegistryKey(string KeyName) + { + try + { + Registry.SetValue(RegistryKeyAccess, KeyName, COM_Ports_Bytes_NEW, RegistryValueKind.Binary); + } + catch (Exception mess) + { + MessageBox.Show("Error setting RegistryKey:" + Environment.NewLine + mess); + } + } + + public void RegistryDemandPermission() + { + RegistryPermission permission = new RegistryPermission(RegistryPermissionAccess.AllAccess, RegistryKeyAccess); + permission.Demand(); + permission = null; + } + + public void SpawnList() + { + AvailablePorts.Clear(); + foreach (string s in SerialPort.GetPortNames()) + { + AvailablePorts.Add(s); + } + + checkedListBox1.Items.Clear(); + LoadingValues = true; + for (int i = 0; i < 40; i++) + { + string COMName = "COM" + i; + string BufFinalName = GetPortName(COMName); + if (BufFinalName != "") + { + checkedListBox1.Items.Add(COMName + " | Connected | " + BufFinalName); + } + else + { + checkedListBox1.Items.Add(COMName); + } + checkedListBox1.SetItemChecked(i, false); + } + + //######################### + RegistryDemandPermission(); + GetRegistryKey(ThisKeyName); + } + + public string GetPortName(string ThisCOM) + { + for (int i = 0; i < AvailablePorts.Count; i++) + { + if (AvailablePorts[i] == ThisCOM) + { + return AvailablePorts[i]; + } + } + + return ""; + } + + private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e) + { + /*if (!LoadingValues) + { + int CurrentByte = 0; + int CurrentBit = 0; + for (int i = 0; i < 40; i++) + { + SetBit(CurrentByte, CurrentBit, checkedListBox1.GetItemChecked(i)); + + CurrentBit++; + if (CurrentBit >= 8) + { + CurrentByte++; + CurrentBit = 0; + } + } + + SetRegistryKey(ThisKeyName); + + SpawnList(); //respawn list + LoadingValues = false; + }*/ + } + + private void button1_Click(object sender, EventArgs e) + { + COM_Ports_Bytes_NEW = COM_Ports_Bytes; + + RegistryDemandPermission(); + SetRegistryKey(ThisKeyName); + SpawnList(); //respawn list + LoadingValues = false; + } + + private void button2_Click(object sender, EventArgs e) + { + if (!LoadingValues) + { + int CurrentByte = 0; + int CurrentBit = 0; + for (int i = 0; i < 40; i++) + { + SetBit(CurrentByte, CurrentBit, checkedListBox1.GetItemChecked(i)); + + CurrentBit++; + if (CurrentBit >= 8) + { + CurrentByte++; + CurrentBit = 0; + } + } + + RegistryDemandPermission(); + SetRegistryKey(ThisKeyName); + + SpawnList(); //respawn list + LoadingValues = false; + } + } + } +} diff --git a/Form1.resx b/Form1.resx new file mode 100644 index 0000000..eaa4216 --- /dev/null +++ b/Form1.resx @@ -0,0 +1,304 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + + + \ No newline at end of file diff --git a/Program.cs b/Program.cs new file mode 100644 index 0000000..354c698 --- /dev/null +++ b/Program.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Forms; + +namespace COMPortReseter +{ + static class Program + { + /// + /// Point d'entrée principal de l'application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..09ff8ad --- /dev/null +++ b/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Les informations générales relatives à un assembly dépendent de +// l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations +// associées à un assembly. +[assembly: AssemblyTitle("COMPortReseter")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("COMPortReseter")] +[assembly: AssemblyCopyright("Copyright © 2020")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly +// aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de +// COM, affectez la valeur true à l'attribut ComVisible sur ce type. +[assembly: ComVisible(false)] + +// Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM +[assembly: Guid("9256129b-de42-45c9-9c5e-b9fe60ba6bfd")] + +// Les informations de version pour un assembly se composent des quatre valeurs suivantes : +// +// Version principale +// Version secondaire +// Numéro de build +// Révision +// +// Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut +// en utilisant '*', comme indiqué ci-dessous : +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Properties/Resources.Designer.cs b/Properties/Resources.Designer.cs new file mode 100644 index 0000000..7352974 --- /dev/null +++ b/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// Ce code a été généré par un outil. +// Version du runtime :4.0.30319.42000 +// +// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si +// le code est régénéré. +// +//------------------------------------------------------------------------------ + +namespace COMPortReseter.Properties +{ + + + /// + /// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées. + /// + // Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder + // à l'aide d'un outil, tel que ResGen ou Visual Studio. + // Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen + // avec l'option /str ou régénérez votre projet VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Retourne l'instance ResourceManager mise en cache utilisée par cette classe. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("COMPortReseter.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Remplace la propriété CurrentUICulture du thread actuel pour toutes + /// les recherches de ressources à l'aide de cette classe de ressource fortement typée. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/Properties/Resources.resx b/Properties/Resources.resx new file mode 100644 index 0000000..ffecec8 --- /dev/null +++ b/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Properties/Settings.Designer.cs b/Properties/Settings.Designer.cs new file mode 100644 index 0000000..d6dd81b --- /dev/null +++ b/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace COMPortReseter.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/Properties/Settings.settings b/Properties/Settings.settings new file mode 100644 index 0000000..abf36c5 --- /dev/null +++ b/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/app.manifest b/app.manifest new file mode 100644 index 0000000..aa13370 --- /dev/null +++ b/app.manifest @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bin/Debug/COMPortReseter.exe b/bin/Debug/COMPortReseter.exe new file mode 100644 index 0000000..90317df Binary files /dev/null and b/bin/Debug/COMPortReseter.exe differ diff --git a/bin/Debug/COMPortReseter.pdb b/bin/Debug/COMPortReseter.pdb new file mode 100644 index 0000000..b8f86f7 Binary files /dev/null and b/bin/Debug/COMPortReseter.pdb differ diff --git a/obj/Debug/COMPortReseter.Form1.resources b/obj/Debug/COMPortReseter.Form1.resources new file mode 100644 index 0000000..745b1c7 Binary files /dev/null and b/obj/Debug/COMPortReseter.Form1.resources differ diff --git a/obj/Debug/COMPortReseter.Properties.Resources.resources b/obj/Debug/COMPortReseter.Properties.Resources.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/obj/Debug/COMPortReseter.Properties.Resources.resources differ diff --git a/obj/Debug/COMPortReseter.csproj.FileListAbsolute.txt b/obj/Debug/COMPortReseter.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..af102c1 --- /dev/null +++ b/obj/Debug/COMPortReseter.csproj.FileListAbsolute.txt @@ -0,0 +1,8 @@ +C:\Users\boule\Documents\Visual Studio 2019\Projects\COMPortReseter\COMPortReseter\bin\Debug\COMPortReseter.exe +C:\Users\boule\Documents\Visual Studio 2019\Projects\COMPortReseter\COMPortReseter\bin\Debug\COMPortReseter.pdb +C:\Users\boule\Documents\Visual Studio 2019\Projects\COMPortReseter\COMPortReseter\obj\Debug\COMPortReseter.csprojAssemblyReference.cache +C:\Users\boule\Documents\Visual Studio 2019\Projects\COMPortReseter\COMPortReseter\obj\Debug\COMPortReseter.Form1.resources +C:\Users\boule\Documents\Visual Studio 2019\Projects\COMPortReseter\COMPortReseter\obj\Debug\COMPortReseter.Properties.Resources.resources +C:\Users\boule\Documents\Visual Studio 2019\Projects\COMPortReseter\COMPortReseter\obj\Debug\COMPortReseter.csproj.GenerateResource.cache +C:\Users\boule\Documents\Visual Studio 2019\Projects\COMPortReseter\COMPortReseter\obj\Debug\COMPortReseter.exe +C:\Users\boule\Documents\Visual Studio 2019\Projects\COMPortReseter\COMPortReseter\obj\Debug\COMPortReseter.pdb diff --git a/obj/Debug/COMPortReseter.csproj.GenerateResource.cache b/obj/Debug/COMPortReseter.csproj.GenerateResource.cache new file mode 100644 index 0000000..e1ac092 Binary files /dev/null and b/obj/Debug/COMPortReseter.csproj.GenerateResource.cache differ diff --git a/obj/Debug/COMPortReseter.csprojAssemblyReference.cache b/obj/Debug/COMPortReseter.csprojAssemblyReference.cache new file mode 100644 index 0000000..282c79f Binary files /dev/null and b/obj/Debug/COMPortReseter.csprojAssemblyReference.cache differ diff --git a/obj/Debug/COMPortReseter.exe b/obj/Debug/COMPortReseter.exe new file mode 100644 index 0000000..90317df Binary files /dev/null and b/obj/Debug/COMPortReseter.exe differ diff --git a/obj/Debug/COMPortReseter.pdb b/obj/Debug/COMPortReseter.pdb new file mode 100644 index 0000000..b8f86f7 Binary files /dev/null and b/obj/Debug/COMPortReseter.pdb differ diff --git a/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..f8e91e2 Binary files /dev/null and b/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..de6a724 Binary files /dev/null and b/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/serial-port-computer-port-computer-icons-usb-usb-png-clip-art.png b/serial-port-computer-port-computer-icons-usb-usb-png-clip-art.png new file mode 100644 index 0000000..df1c25f Binary files /dev/null and b/serial-port-computer-port-computer-icons-usb-usb-png-clip-art.png differ diff --git a/serial_port_computer_qV2ky.ico b/serial_port_computer_qV2ky.ico new file mode 100644 index 0000000..9467396 Binary files /dev/null and b/serial_port_computer_qV2ky.ico differ