- .NET (4)
- Administration (14)
- Allgemein (7)
- C# (4)
- CRM (1)
- MOSS 2007 (33)
- Office (2)
- Programming (5)
- Project-Server (3)
- Projektmanagement (5)
- SharePoint (46)
- SharePoint 2010 (11)
- Uncategorized (1)
- VB.NET (2)
- Web (8)
- WIN 2008 (3)
- Workflow (9)
- 23.1.2012: Datenimport-Überlegungen (MS-CRM)
- 20.12.2011: Vorhandene Projekte in Project Server hochladen
- 18.12.2011: Project-Server Pro und Contra
- 17.12.2011: Project-Server 2010 Project Web Application (PWA)
- 25.9.2011: Migration MOSS 2007 nach Sharepoint 2010 Schrittweise (Step by Step)
- 16.9.2011: Backup-Script (Powershell) für Sp2010 aller SiteCollections und Websites einer Web-Application
- 31.3.2011: Ändern der Sprache in der SharePoint Zentraladministration (2010/2007)
- 28.1.2011: Was ist neu in SharePoint 2010 Foundation (Serie) - Teil 3
- 25.1.2011: Was ist neu in SharePoint 2010 Foundation (Serie) - Teil 2
- 25.1.2011: Was ist neu in SharePoint 2010 Foundation (Serie) - Teil 1
Programm nur ausführen, wenn es nicht schon ausgeführt wird
Insbesondere bei der entwicklungen von Windows-Programmen, die im Hintergrund laufen sollen und eventuell keinerlei Benutzerdialog erfodern, ist es oft notwendig zu prüfen, ob ein bestimmter Prozess bereits läuft und in Abhängigkeit davon das Programm auszuführen, oder abzubrechen.
Anbei ein kleiner Code-Schnipsel mit dem geprüft werden kann, ob bereits eine Instanz des Programmes ausgeführt wird.
Das nachfolgende Beispiel (C#) zeigt, wie geprüft wird, ob eine Instanz des eigenen Programmes bereits ausgeführt wird und führt den weiteren code nur aus, wenn dies nicht der Fall ist:
using System.Diagnostics;
Process ThisProcess = Process.GetCurrentProcess();
//assoziiert alle laufenden Applikationen mit der Objektvariablen ThisProcess vom Typ System.Diagnostics.Process
Process[] activeProcesses = Process.GetProcessesByName(ThisProcess.ProcessName);
//Legt in einem Array alle Prozesse ab, die dem abgefragten Kriterium (ThisProcess.ProcessName) entsprechen
//wenn also bereits eine Instanz dieses Programmes ausgeführt wird, so wird das Array activeProcesses
//mit mindestens einem WEITEREN Wert gefüllt, erhält also dann eine “Länge” von 2 oder mehr,
//da DIESE Instanz (mit diesem Code) natürlich auch gerade jetzt ausgeführt wird. //Nur ausführen, wenn noch nicht ausgeführt wirdif (activeProcesses.Length == 1) //Wenn das Array activeProcesses also nur eine Länge von 1 hat (keine Werte hinzugefügt)
{
Codeabschnitt einfügen
}