Läuft App?
Moderator: Moderatoren
Läuft App?
Hallo Zusammen,
gibt es eine Funktions wo ich ermitteln kann ob bereits die App läuft?
Gruß
Ayhan
gibt es eine Funktions wo ich ermitteln kann ob bereits die App läuft?
Gruß
Ayhan
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: Läuft App?
Iyi günler Ayhan,
suche mal nach Mutex im Forum, da findest Du diverse Lösungen - unter anderem diesen Thread: http://www.xbaseforum.de/viewtopic.php? ... 20&p=20633
Viele Grüße,
Martin
suche mal nach Mutex im Forum, da findest Du diverse Lösungen - unter anderem diesen Thread: http://www.xbaseforum.de/viewtopic.php? ... 20&p=20633
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Herbert
- Der Entwickler von "Deep Thought"
- Beiträge: 1991
- Registriert: Do, 14. Aug 2008 0:22
- Wohnort: Gmunden am Traunsee, Österreich
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Läuft App?
Mutex klappt auch unter Vista und daher wohl auch unter Windows7.
Um nicht zu lange graben zu müssen:
// Läuft das Programm schon?
Um nicht zu lange graben zu müssen:
// Läuft das Programm schon?
Code: Alles auswählen
#define MUTEX_ALL_ACCESS 2031617
...
PROCEDURE AppSys
LOCAL cMutex:=Upper(AppName())+Chr(0)
LOCAL nH:=DllCall("KERNEL32.DLL", DLL_STDCALL,;
"OpenMutexA", MUTEX_ALL_ACCESS, 0, cMutex)
IF nH==0
nH:=DllCall("KERNEL32.DLL",DLL_STDCALL,"CreateMutexA",0,0,cMutex)
ELSE
MsgBox("Das Programm wird bereits ausgefhrt!",cMutex)
QUIT
ENDIF
....
DllCall("KERNEL32.DLL",DLL_STDCALL,"ReleaseMutex",nH)
RETURN
Grüsse Herbert
Immer in Bewegung...
Immer in Bewegung...
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1930
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Läuft App?
Hallo Herbert,
kann ich das so mit jedem Programm machen, oder ist dies nur als Beispielt für die kernel32.dll gedacht ??
Ich appname als Privat deklariert oder wo kommt der her ?
kann ich das so mit jedem Programm machen, oder ist dies nur als Beispielt für die kernel32.dll gedacht ??
Ich appname als Privat deklariert oder wo kommt der her ?
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Läuft App?
Hallo Rolf,
AppName() ist eine eingebaute Xbase++ Funktion die den EXE Namen zurückgibt
Das lässt mich darauf schließen, dass man das mit jedem Xbase++ Programm machen kann,
dem man verbieten will mehrfach geöffnet zu werden. Ob das sinnvoll ist muss man aber gut überlegen
AppName() ist eine eingebaute Xbase++ Funktion die den EXE Namen zurückgibt
Das lässt mich darauf schließen, dass man das mit jedem Xbase++ Programm machen kann,
dem man verbieten will mehrfach geöffnet zu werden. Ob das sinnvoll ist muss man aber gut überlegen
Gruß
Hubert
Hubert