Initialize

This commit is contained in:
Eugen Höglinger 2020-11-26 07:33:18 +01:00
parent 959474e42e
commit f8cbfb92b6
8 changed files with 471 additions and 130 deletions

View File

@ -11,6 +11,7 @@ using System.Resources;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Eugen.ESystem
{
@ -18,10 +19,11 @@ namespace Eugen.ESystem
{
#region Version und Copyright
// Version und Copyright
string dllName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen
string dllVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
static string dllName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen
static string dllVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
string copyright = ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
static string copyright = GenerateCopyright();
string icon = Application.StartupPath + "\\Info.bmp";
//Assembly Datum und Zeit
static DateTime value = AssemblyDateTime();
string date = value.ToShortDateString();
@ -33,44 +35,83 @@ namespace Eugen.ESystem
//Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original)
return buildDateTime;
}
private static string CurrentYear()
{
DateTime dtn = DateTime.Now;
return dtn.Year.ToString();
}
private static string StartYear()
{
string startYear = "";
if (((AssemblyCopyrightAttribute)attributes[0]).Copyright.Contains("Copyright © "))
{
startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace("Copyright © ", "");
while (startYear.StartsWith(" "))
{
startYear = startYear.Remove(0, 1);
}
startYear = startYear.Remove(startYear.IndexOf(" "));
return startYear;
}
else
{
DateTime dtn = DateTime.Now;
return dtn.Year.ToString();
}
}
private static string GenerateCopyright()
{
string startYear = StartYear();
string currentYear = CurrentYear();
if (startYear == currentYear)
{
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
}
else
{
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace(startYear, String.Concat(startYear, "-", currentYear));
}
}
#endregion
#region DLL-Info
/// <summary>
/// Contains the name of the dll file.
/// Contains the name of the program file
/// </summary>
public static string DllName { private set; get; }
public static string DllName { set; get; }
/// <summary>
/// Contains the version of the dll file.
/// Contains the version of the program file
/// </summary>
public static string DllVersion { private set; get; }
public static string DllVersion { set; get; }
/// <summary>
/// Contains the copyright notice.
/// Contains the copyright notice
/// </summary>
public static string Copyright { private set; get; }
public static string Copyright { set; get; }
/// <summary>
/// Contains the name-, version- and copyright-information of the dll file.
/// </summary>
public static string[] DllInfo { private set; get; }
private void SetDllInfo()
private static void SetDllInfo()
{
//Name, Version und Copyright setzen
DllName = dllName;
DllVersion = dllVersion;
Copyright = this.copyright;
string[] dllInfo = new string[3];
dllInfo[0] = dllName;
dllInfo[1] = dllVersion;
dllInfo[2] = this.copyright;
DllInfo = dllInfo;
Copyright = copyright;
}
#endregion
/// <summary>
/// Starts or stops an external program.
/// </summary>
/// <param name="program">A valid program name with path and extension.</param>
static StartStopExtProgram()
{
SetDllInfo(); //Name, Version und Copyright der DLL setzen
}
/// <summary>
/// Starts or stops an external program.
/// </summary>

View File

@ -33,6 +33,7 @@
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />

View File

@ -30,8 +30,13 @@
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
this.buttonStartStop = new System.Windows.Forms.Button();
this.labelDllInfo = new System.Windows.Forms.Label();
this.labelStatus = new System.Windows.Forms.Label();
this.groupBoxProgramInfo = new System.Windows.Forms.GroupBox();
this.labelProgramInfo = new System.Windows.Forms.Label();
this.groupBoxDLLInfo = new System.Windows.Forms.GroupBox();
this.labelDLLInfo = new System.Windows.Forms.Label();
this.groupBoxProgramInfo.SuspendLayout();
this.groupBoxDLLInfo.SuspendLayout();
this.SuspendLayout();
//
// buttonStartStop
@ -41,24 +46,49 @@
this.buttonStartStop.UseVisualStyleBackColor = true;
this.buttonStartStop.Click += new System.EventHandler(this.buttonStartStop_Click);
//
// labelDllInfo
//
resources.ApplyResources(this.labelDllInfo, "labelDllInfo");
this.labelDllInfo.Name = "labelDllInfo";
//
// labelStatus
//
resources.ApplyResources(this.labelStatus, "labelStatus");
this.labelStatus.Name = "labelStatus";
//
// groupBoxProgramInfo
//
this.groupBoxProgramInfo.Controls.Add(this.labelProgramInfo);
resources.ApplyResources(this.groupBoxProgramInfo, "groupBoxProgramInfo");
this.groupBoxProgramInfo.Name = "groupBoxProgramInfo";
this.groupBoxProgramInfo.TabStop = false;
//
// labelProgramInfo
//
resources.ApplyResources(this.labelProgramInfo, "labelProgramInfo");
this.labelProgramInfo.Name = "labelProgramInfo";
//
// groupBoxDLLInfo
//
this.groupBoxDLLInfo.Controls.Add(this.labelDLLInfo);
resources.ApplyResources(this.groupBoxDLLInfo, "groupBoxDLLInfo");
this.groupBoxDLLInfo.Name = "groupBoxDLLInfo";
this.groupBoxDLLInfo.TabStop = false;
//
// labelDLLInfo
//
resources.ApplyResources(this.labelDLLInfo, "labelDLLInfo");
this.labelDLLInfo.Name = "labelDLLInfo";
//
// Form1
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.groupBoxProgramInfo);
this.Controls.Add(this.groupBoxDLLInfo);
this.Controls.Add(this.labelStatus);
this.Controls.Add(this.labelDllInfo);
this.Controls.Add(this.buttonStartStop);
this.Name = "Form1";
this.Load += new System.EventHandler(this.Form1_Load);
this.groupBoxProgramInfo.ResumeLayout(false);
this.groupBoxProgramInfo.PerformLayout();
this.groupBoxDLLInfo.ResumeLayout(false);
this.groupBoxDLLInfo.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
@ -67,8 +97,11 @@
#endregion
private System.Windows.Forms.Button buttonStartStop;
private System.Windows.Forms.Label labelDllInfo;
private System.Windows.Forms.Label labelStatus;
private System.Windows.Forms.GroupBox groupBoxProgramInfo;
private System.Windows.Forms.Label labelProgramInfo;
private System.Windows.Forms.GroupBox groupBoxDLLInfo;
private System.Windows.Forms.Label labelDLLInfo;
}
}

View File

@ -1,15 +1,8 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using Eugen.ESystem;
using System;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Eugen.ESystem;
namespace Test_StartStopExtProgram
{
@ -20,7 +13,7 @@ namespace Test_StartStopExtProgram
string programName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen
string programVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
string copyright = ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
string copyright = GenerateCopyright();
string icon = Application.StartupPath + "\\Info.bmp";
//Assembly Datum und Zeit
static DateTime value = AssemblyDateTime();
@ -33,16 +26,60 @@ namespace Test_StartStopExtProgram
//Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original)
return buildDateTime;
}
private static string CurrentYear()
{
DateTime dtn = DateTime.Now;
return dtn.Year.ToString();
}
private static string StartYear()
{
//string startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
//return startYear.Remove(0, startYear.LastIndexOf(" ") + 1);
string startYear = "";
if (((AssemblyCopyrightAttribute)attributes[0]).Copyright.Contains("Copyright © "))
{
startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace("Copyright © ", "");
while (startYear.StartsWith(" "))
{
startYear = startYear.Remove(0, 1);
}
startYear = startYear.Remove(startYear.IndexOf(" "));
return startYear;
}
else
{
DateTime dtn = DateTime.Now;
return dtn.Year.ToString();
}
}
private static string GenerateCopyright()
{
string startYear = StartYear();
string currentYear = CurrentYear();
if (startYear == currentYear)
{
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
}
else
{
//return String.Concat(((AssemblyCopyrightAttribute)attributes[0]).Copyright, "-", currentYear);
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace(startYear, String.Concat(startYear, "-", currentYear));
}
}
#endregion
#region Programm-Info
/// <summary>
/// Contains the name of the programName file
/// Contains the name of the program file
/// </summary>
public static string ProgramName { set; get; }
/// <summary>
/// Contains the version of the programName file
/// Contains the version of the program file
/// </summary>
public static string ProgramVersion { set; get; }
@ -66,11 +103,27 @@ namespace Test_StartStopExtProgram
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
ShowInformation(); //Programm- und DLL-Information anzeigen
}
private void ShowInformation()
{
labelProgramInfo.Text = String.Concat(ProgramName, "\n", ProgramVersion, "\n", Copyright); //Programm-Information anzeigen
// DLL-Information anzeigen
labelDLLInfo.Text = String.Concat(StartStopExtProgram.DllName, "\n", StartStopExtProgram.DllVersion, "\n", StartStopExtProgram.Copyright);
}
private void buttonStartStop_Click(object sender, EventArgs e)
{
//--------------------------------------------------------------
//--- Diesen Bereich ins eigene Programm einfügen --- Anfang ---
//--------------------------------------------------------------
string programPath = @"C:\Windows"; //Programmpfad
string programName = "Notepad.exe"; //Programm Name
string arg = @"H:\Programmieren\Visual Studio 2017\Projekte\_DLL\StartStopExtProgram\Daten\Test.txt"; //Argument das übergeben wird
string arg = @"H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\StartStopExtProgram.git\Daten\Test.txt"; //Argument das übergeben wird
bool winStyleMinimized = false; //Anzeige des Programmfensters. false=Sichtbar, true=Minimiert
//Nachfolgend die möglichen Aufrufvarianten
@ -85,9 +138,9 @@ namespace Test_StartStopExtProgram
{
MessageBox.Show(ex.Message);
}
//Ausgabe der DLL Informationen
labelDllInfo.Text = String.Concat(StartStopExtProgram.DllName, "\r\n", StartStopExtProgram.DllVersion, "\r\n", StartStopExtProgram.Copyright);
//--------------------------------------------------------------
//--- Diesen Bereich ins eigene Programm einfügen --- Ende ---
//--------------------------------------------------------------
}
}
}

View File

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="labelStatus.Text" xml:space="preserve">
<value>Start / Stop drücken um das Programm zu starten oder zu Beenden.</value>
</data>
</root>

View File

@ -117,106 +117,193 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="&gt;&gt;labelDllInfo.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;labelStatus.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;labelDllInfo.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="buttonStartStop.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="labelDllInfo.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="labelDllInfo.Location" type="System.Drawing.Point, System.Drawing">
<value>13, 13</value>
</data>
<data name="&gt;&gt;labelStatus.Name" xml:space="preserve">
<value>labelStatus</value>
</data>
<data name="labelDllInfo.Size" type="System.Drawing.Size, System.Drawing">
<value>16, 13</value>
</data>
<data name="&gt;&gt;labelStatus.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;buttonStartStop.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>Form1</value>
</data>
<data name="&gt;&gt;buttonStartStop.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="labelDllInfo.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>350, 155</value>
</data>
<data name="&gt;&gt;labelStatus.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="labelStatus.Size" type="System.Drawing.Size, System.Drawing">
<value>327, 13</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="labelStatus.Location" type="System.Drawing.Point, System.Drawing">
<value>13, 88</value>
</data>
<data name="&gt;&gt;labelDllInfo.ZOrder" xml:space="preserve">
<value>1</value>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="buttonStartStop.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 215</value>
</data>
<data name="buttonStartStop.Size" type="System.Drawing.Size, System.Drawing">
<value>109, 23</value>
</data>
<data name="labelStatus.Text" xml:space="preserve">
<value>Start / Stop drücken um das Programm zu starten oder zu Beenden.</value>
<value>776, 23</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="buttonStartStop.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="buttonStartStop.Text" xml:space="preserve">
<value>Start / Stop</value>
</data>
<data name="labelStatus.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="buttonStartStop.Location" type="System.Drawing.Point, System.Drawing">
<value>121, 120</value>
</data>
<data name="&gt;&gt;labelDllInfo.Name" xml:space="preserve">
<value>labelDllInfo</value>
</data>
<data name="labelStatus.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="labelDllInfo.Text" xml:space="preserve">
<value>...</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Form1</value>
</data>
<data name="&gt;&gt;buttonStartStop.ZOrder" xml:space="preserve">
<value>2</value>
<comment>@Invariant</comment>
</data>
<data name="&gt;&gt;buttonStartStop.Name" xml:space="preserve">
<value>buttonStartStop</value>
</data>
<data name="&gt;&gt;buttonStartStop.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;buttonStartStop.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;buttonStartStop.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="labelStatus.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="labelStatus.Location" type="System.Drawing.Point, System.Drawing">
<value>13, 187</value>
</data>
<data name="labelStatus.Size" type="System.Drawing.Size, System.Drawing">
<value>327, 13</value>
</data>
<data name="labelStatus.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="labelStatus.Text" xml:space="preserve">
<value>Start / Stop drücken um das Programm zu starten oder zu Beenden.</value>
</data>
<data name="&gt;&gt;labelStatus.Name" xml:space="preserve">
<value>labelStatus</value>
</data>
<data name="&gt;&gt;labelStatus.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;labelStatus.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;labelStatus.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="labelProgramInfo.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="labelProgramInfo.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="labelProgramInfo.Location" type="System.Drawing.Point, System.Drawing">
<value>7, 20</value>
</data>
<data name="labelProgramInfo.Size" type="System.Drawing.Size, System.Drawing">
<value>16, 13</value>
</data>
<data name="labelProgramInfo.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="labelProgramInfo.Text" xml:space="preserve">
<value>...</value>
<comment>@Invariant</comment>
</data>
<data name="&gt;&gt;labelProgramInfo.Name" xml:space="preserve">
<value>labelProgramInfo</value>
</data>
<data name="&gt;&gt;labelProgramInfo.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;labelProgramInfo.Parent" xml:space="preserve">
<value>groupBoxProgramInfo</value>
</data>
<data name="&gt;&gt;labelProgramInfo.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="groupBoxProgramInfo.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 372</value>
</data>
<data name="groupBoxProgramInfo.Size" type="System.Drawing.Size, System.Drawing">
<value>385, 66</value>
</data>
<data name="groupBoxProgramInfo.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
</data>
<data name="groupBoxProgramInfo.Text" xml:space="preserve">
<value>Programm Information</value>
<comment>@Invariant</comment>
</data>
<data name="&gt;&gt;groupBoxProgramInfo.Name" xml:space="preserve">
<value>groupBoxProgramInfo</value>
</data>
<data name="&gt;&gt;groupBoxProgramInfo.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBoxProgramInfo.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBoxProgramInfo.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="labelDLLInfo.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="labelDLLInfo.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="labelDLLInfo.Location" type="System.Drawing.Point, System.Drawing">
<value>7, 20</value>
</data>
<data name="labelDLLInfo.Size" type="System.Drawing.Size, System.Drawing">
<value>16, 13</value>
</data>
<data name="labelDLLInfo.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="labelDLLInfo.Text" xml:space="preserve">
<value>...</value>
<comment>@Invariant</comment>
</data>
<data name="&gt;&gt;labelDLLInfo.Name" xml:space="preserve">
<value>labelDLLInfo</value>
</data>
<data name="&gt;&gt;labelDLLInfo.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;labelDLLInfo.Parent" xml:space="preserve">
<value>groupBoxDLLInfo</value>
</data>
<data name="&gt;&gt;labelDLLInfo.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="groupBoxDLLInfo.Location" type="System.Drawing.Point, System.Drawing">
<value>403, 372</value>
</data>
<data name="groupBoxDLLInfo.Size" type="System.Drawing.Size, System.Drawing">
<value>385, 66</value>
</data>
<data name="groupBoxDLLInfo.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="groupBoxDLLInfo.Text" xml:space="preserve">
<value>DLL Information</value>
<comment>@Invariant</comment>
</data>
<data name="&gt;&gt;groupBoxDLLInfo.Name" xml:space="preserve">
<value>groupBoxDLLInfo</value>
</data>
<data name="&gt;&gt;groupBoxDLLInfo.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBoxDLLInfo.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBoxDLLInfo.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>800, 450</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Form1</value>
<comment>@Invariant</comment>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>Form1</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>

View File

@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Test_StartStopExtProgram")]
[assembly: AssemblyCopyright("Copyright © 2019 ")]
[assembly: AssemblyCopyright("Copyright © 2019 by Eugen Höglinger")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

View File

@ -54,6 +54,9 @@
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Form1.de.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form1.en.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>