Ich versuche herauszufinden, ob eine Instanz einer Anwendung (nicht vb.net) bereits läuft - weil ich sie starten möchte, aber ich möchte sie nicht starten, wenn sie bereits läuft. Ich habe eine Lösung gefunden, um zu überprüfen, ob ein Prozess läuft:
%Vor%und gibt True zurück, wenn & gt; = 1 (oder nur die Prozessnummer).
Mein Problem ist, dass es sich um eine Anwendung eines Drittanbieters handelt und der Prozessname nicht nur ein Name ist, sondern eine Versionsnummer enthält (die ich zur Laufzeit nicht kenne), und es scheint auch ein * 32 hinzuzufügen (also wahrscheinlich ein * 64 wenn es in x64 installiert ist?).
Ich muss eine Liste laufender Prozesse nach Namen abrufen und testen, ob "Prozessname" eine Teilzeichenfolge des Namens ist. Aber ich war nicht erfolgreich darin, eine Liste von Namen zu bekommen, nur Prozess-IDs.
Ich muss eine Liste laufender Prozesse nach Namen abrufen und testen, ob "Prozessname" eine Teilzeichenfolge des Namens ist.
Sie könnten verwenden:
%Vor% Dies wird alle Prozesse durchsehen und den Wert procExists
auf True setzen, wenn ein Prozess, der enthält processName
in den aktuell ausgeführten Prozessen existiert. Dies sollte die Existenz der unbekannten Versionsnummer sowie der *32
behandeln, die auftreten können, wenn Sie auf einem 64-Bit-Betriebssystem laufen (das ist die WOW64-Flagge, die besagt, dass es ein 32-Bit-Prozess ist, der auf einem 64-Bit-Betriebssystem läuft) >