NSR
Mitglied
Sers Community.
Das hier ist kein 'Frage'-Thread sondern ein Sammel-Thread.
Und zwar geht es darum Code hineinzuschreiben, der witzige, coole oder einfach nur hilfreiche Funktionen ausführt. Mit der Begründung was der machen soll. (Bei komplizierteren Sachen mögl. auch ne Erklärung dazu). Wenn ihr der Meinung seid, dass ihr nen besseren Weg kennt eine Funktion durchzuführen, dass Postet sie einfach mit einem Verweis auf die alte Funktion.
Ich fang gleich mal an auch als Beispiel:
Und zwar bewirkt der Code, dass man ein Programm nur einmal Starten kann.
Also nicht einmal starten und dann ist des Programm futsch , sondern dass man das Programm wenns schon läuft nicht noch einmal starten kann.
Der Code wird im Programm.cs eingefügt (erste if()else() anweisung, im else steht der normale Application.Run teil.)
Hoffe der Thread kommt gut an. In Hoffnung auf ein paar coole Funktionen.
Grüße Nico
Das hier ist kein 'Frage'-Thread sondern ein Sammel-Thread.
Und zwar geht es darum Code hineinzuschreiben, der witzige, coole oder einfach nur hilfreiche Funktionen ausführt. Mit der Begründung was der machen soll. (Bei komplizierteren Sachen mögl. auch ne Erklärung dazu). Wenn ihr der Meinung seid, dass ihr nen besseren Weg kennt eine Funktion durchzuführen, dass Postet sie einfach mit einem Verweis auf die alte Funktion.
Ich fang gleich mal an auch als Beispiel:
Und zwar bewirkt der Code, dass man ein Programm nur einmal Starten kann.
Also nicht einmal starten und dann ist des Programm futsch , sondern dass man das Programm wenns schon läuft nicht noch einmal starten kann.
Der Code wird im Programm.cs eingefügt (erste if()else() anweisung, im else steht der normale Application.Run teil.)
Code:
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main()
{
if (RunningInstance() != null)
{ // Meldung ausgeben
MessageBox.Show("This program can not be executed repeatedly.", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
// Programminstanz schließen
Application.Exit();
}
else
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Main());
}
}
/// <summary>
/// Prüfen ob Programminstanz bereits ausgeführt wird
/// </summary>
/// <returns>falls ja, Programminstanz, falls nein, null</returns>
public static Process RunningInstance()
{
/*Prüft, ob das Programm schon läuft - Alle Prozesse mit dem Namen des aktuellen Prozesses holen*/
System.Diagnostics.Process[] processes = Process.GetProcesses();
/*Alle Prozesse durchgehen und den Fenstertitel vergleichen*/
string mainProcessTitle = "TS700.Protokollverwaltung";
for (int i = 0; i < processes.Length; i++)
{
/*Den aktuellen Prozess ausschließen*/
if (processes[i].Id != Process.GetCurrentProcess().Id)
{
if (processes[i].ProcessName == mainProcessTitle)
{
/*Prozess gefunden, diesen zurückgeben*/
return processes[i];
}
}
}
/*Kein Prozess gefunden, der dem aktuellen entspricht, also null zurückgeben*/
return null;
}
Hoffe der Thread kommt gut an. In Hoffnung auf ein paar coole Funktionen.
Grüße Nico