using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; 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 { public partial class Form1 : Form { #region Version und Copyright // Version und Copyright 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 icon = Application.StartupPath + "\\Info.bmp"; //Assembly Datum und Zeit static DateTime value = AssemblyDateTime(); string date = value.ToShortDateString(); string time = value.ToLongTimeString(); private static DateTime AssemblyDateTime() { var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; var buildDateTime = new DateTime(2000, 1, 1).Add(new TimeSpan(TimeSpan.TicksPerDay * version.Build + TimeSpan.TicksPerSecond * 2 * version.Revision)); //Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original) return buildDateTime; } #endregion #region Programm-Info /// /// Contains the name of the programName file /// public static string ProgramName { set; get; } /// /// Contains the version of the programName file /// public static string ProgramVersion { set; get; } /// /// Contains the copyright notice /// public static string Copyright { set; get; } private void SetProgramInfo() { //Name, Version und Copyright setzen ProgramName = programName; ProgramVersion = programVersion; Copyright = copyright; } #endregion public Form1() { SetProgramInfo(); //Name, Version und Copyright setzen InitializeComponent(); } private void buttonStartStop_Click(object sender, EventArgs e) { 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 bool winStyleMinimized = false; //Anzeige des Programmfensters. false=Sichtbar, true=Minimiert //Nachfolgend die möglichen Aufrufvarianten try { //var startStop = new StartStopExtProgram(String.Concat(programPath, "\\", programName)); //var startStop = new StartStopExtProgram(String.Concat(programPath, "\\", programName), winStyleMinimized); //var startStop = new StartStopExtProgram(String.Concat(programPath, "\\", programName), arg, winStyleMinimized); var startStop = new StartStopExtProgram(programPath, programName, arg, winStyleMinimized); } catch (Exception ex) { MessageBox.Show(ex.Message); } //Ausgabe der DLL Informationen labelDllInfo.Text = String.Concat(StartStopExtProgram.DllName, "\r\n", StartStopExtProgram.DllVersion, "\r\n", StartStopExtProgram.Copyright); } } }