Läuft App?

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
DSEDSE
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 21
Registriert: Mi, 11. Feb 2009 12:22

Läuft App?

Beitrag von DSEDSE »

Hallo Zusammen,

gibt es eine Funktions wo ich ermitteln kann ob bereits die App läuft?

Gruß

Ayhan
Benutzeravatar
Martin Altmann
Foren-Administrator
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?

Beitrag von Martin Altmann »

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
:grommit:
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.
DSEDSE
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 21
Registriert: Mi, 11. Feb 2009 12:22

Re: Läuft App?

Beitrag von DSEDSE »

Tessekürler Martin :)
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
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?

Beitrag von Herbert »

Mutex klappt auch unter Vista und daher wohl auch unter Windows7.
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 ausgefhrt!",cMutex)
  QUIT
ENDIF
....
DllCall("KERNEL32.DLL",DLL_STDCALL,"ReleaseMutex",nH)
RETURN
Grüsse Herbert
Immer in Bewegung...
DSEDSE
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 21
Registriert: Mi, 11. Feb 2009 12:22

Re: Läuft App?

Beitrag von DSEDSE »

Hallo Herber,

vielen Dank!!! Es Funzt tadellos!!!


Ayhan
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
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?

Beitrag von Rolf Ramacher »

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 ?
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
brandelh
Foren-Moderator
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?

Beitrag von brandelh »

Hallo Rolf,

AppName() ist eine eingebaute Xbase++ Funktion die den EXE Namen zurückgibt :D
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
Antworten