diff --git a/cd_ejecter/cd_ejecter.sln b/cd_ejecter/cd_ejecter.sln
new file mode 100644
index 0000000..6581174
--- /dev/null
+++ b/cd_ejecter/cd_ejecter.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.1.32421.90
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cd_ejecter", "cd_ejecter\cd_ejecter.csproj", "{F6AEFABA-D2B1-41B2-B815-A5D0AE2539F1}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {F6AEFABA-D2B1-41B2-B815-A5D0AE2539F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F6AEFABA-D2B1-41B2-B815-A5D0AE2539F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F6AEFABA-D2B1-41B2-B815-A5D0AE2539F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F6AEFABA-D2B1-41B2-B815-A5D0AE2539F1}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {A01D2085-21F9-4B6C-8B81-6456C6B77CDC}
+ EndGlobalSection
+EndGlobal
diff --git a/cd_ejecter/cd_ejecter/MainFrm.Designer.cs b/cd_ejecter/cd_ejecter/MainFrm.Designer.cs
new file mode 100644
index 0000000..74875a4
--- /dev/null
+++ b/cd_ejecter/cd_ejecter/MainFrm.Designer.cs
@@ -0,0 +1,44 @@
+namespace cd_ejecter;
+
+partial class MainFrm
+{
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose (bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent ()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainFrm));
+ this.SuspendLayout();
+ //
+ // MainFrm
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Name = "MainFrm";
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+}
diff --git a/cd_ejecter/cd_ejecter/MainFrm.cs b/cd_ejecter/cd_ejecter/MainFrm.cs
new file mode 100644
index 0000000..dd63fe1
--- /dev/null
+++ b/cd_ejecter/cd_ejecter/MainFrm.cs
@@ -0,0 +1,9 @@
+namespace cd_ejecter;
+
+public partial class MainFrm: Form
+{
+ public MainFrm ()
+ {
+ InitializeComponent();
+ }
+}
diff --git a/cd_ejecter/cd_ejecter/MainFrm.resx b/cd_ejecter/cd_ejecter/MainFrm.resx
new file mode 100644
index 0000000..cbe5703
--- /dev/null
+++ b/cd_ejecter/cd_ejecter/MainFrm.resx
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ MainFrm
+
+
+ System.Windows.Forms.Form, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ 970, 711
+
+
+ Form1
+
+
+ 7, 15
+
+
+ True
+
+
+ ru
+
+
\ No newline at end of file
diff --git a/cd_ejecter/cd_ejecter/MainFrm.ru.resx b/cd_ejecter/cd_ejecter/MainFrm.ru.resx
new file mode 100644
index 0000000..5c8cd8d
--- /dev/null
+++ b/cd_ejecter/cd_ejecter/MainFrm.ru.resx
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ CD Ejecter
+
+
\ No newline at end of file
diff --git a/cd_ejecter/cd_ejecter/Program.cs b/cd_ejecter/cd_ejecter/Program.cs
new file mode 100644
index 0000000..3279410
--- /dev/null
+++ b/cd_ejecter/cd_ejecter/Program.cs
@@ -0,0 +1,16 @@
+namespace cd_ejecter;
+
+internal static class Program
+{
+ ///
+ /// The main entry point for the application.
+ ///
+ [STAThread]
+ static void Main ()
+ {
+ // To customize application configuration such as set high DPI settings or default font,
+ // see https://aka.ms/applicationconfiguration.
+ ApplicationConfiguration.Initialize();
+ Application.Run(new MainFrm());
+ }
+}
\ No newline at end of file
diff --git a/cd_ejecter/cd_ejecter/cd_ejecter.csproj b/cd_ejecter/cd_ejecter/cd_ejecter.csproj
new file mode 100644
index 0000000..b57c89e
--- /dev/null
+++ b/cd_ejecter/cd_ejecter/cd_ejecter.csproj
@@ -0,0 +1,11 @@
+
+
+
+ WinExe
+ net6.0-windows
+ enable
+ true
+ enable
+
+
+
\ No newline at end of file