Name eines laufenden Programms im Speicher ändern?

14/05/2013 - 11:43 von Matthias Hanft | Report spam
Hallo,

es gibt hier ein Programm (Namen von der Redaktion geàndert :-) ) EINS.EXE,
da gibts sowas wie einen Start-Button drauf. Wenn man den klickt, startet
es ZWEI.EXE und beendet sich dann.

Falls nun aber ZWEI.EXE bereits làuft, sagt EINS.EXE stattdessen "ZWEI làuft
schon" (und bietet einen Button an, um ZWEI in den Vordergrund zu holen).

Ich würde aber nun ZWEI.EXE gerne tatsàchlich ein weiteres Mal starten. Also
darf EINS nicht "sehen", daß ZWEI bereits làuft. Ich vermute, daß EINS in der
Taskliste von Windows nachschaut, ob es dort etwas namens ZWEI.EXE findet,
und dann entsprechend reagiert. Man müßte also wohl den Prozessnamen àndern
(aber ohne die Datei ZWEI.EXE selbst umzubenennen, denn die muß ja von EINS
immer noch gestartet werden können). Gibts sowas wie "ChangeProcessName" in
der Windows API? Hab schon gesucht, aber nix gefunden.

Kann natürlich auch sein, daß einer der in http://msdn.microsoft.com/de-de/lib...78969.aspx
beschriebenen Mechanismen zur Anwendung kommt - könnte man da auch irgendwie
eingreifen?

In den EXE selbst mag ich eher nicht rumpatchen (sind nicht von mir).

Irgendwelche Ideen?

Danke & Gruß Matthias.

PS: Bevor jemand fragt, ob das wirklich einen Sinn ergibt und/oder funktio-
niert: Ja, tut es. Bis letzte Woche hat das perfekt funktioniert, nur
gabs jetzt ein Update von EINS, mit dem der Hersteller dem (DAU-)Anwender
wohl was Gutes tun wollte, damit er ZWEI nicht versehentlich mehrfach
startet und völlig verwirrt ist. Die "Expert-User" machen das aber
absichtlich und können dann auch mit mehreren Instanzen von ZWEI
umgehen. Und nein, der Hersteller ist weit weg und hat (für sowas)
keine Support-Hotline. Also ist Selbermachen angesagt :-)
 

Lesen sie die antworten

#1 Uwe Kotyczka
14/05/2013 - 12:10 | Warnen spam
On 14 Mai, 11:43, Matthias Hanft wrote:
Kann natürlich auch sein, daß einer der in
http://msdn.microsoft.com/de-de/lib...78969.aspx
beschriebenen Mechanismen zur Anwendung kommt - könnte man da auch irgendwie
eingreifen?



Oder ZWEI.EXE verhindert das Starten einer zweiten Instanz
mit einem Mutex. Dann hast Du auch keine Chance.

In den EXE selbst mag ich eher nicht rumpatchen (sind nicht von mir).

Irgendwelche Ideen?



Ich würde sagen schwierig bis unmöglich. Du müstest
schon etwas mehr über die Implementierung des
Nur-eine-Instanz-Verhaltens in Erfahrung bringen.

Ähnliche fragen