Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Prog auch bei mehreren angemeldeten Benutzern nur 1x starten (https://www.delphipraxis.net/17651-prog-auch-bei-mehreren-angemeldeten-benutzern-nur-1x-starten.html)

xineohp 3. Apr 2004 18:07

Re: Prog auch bei mehreren angemeldeten Benutzern nur 1x sta
 
thx für die hilfe :thuimb:

Zitat:

was ja nur auf einem System mit Terminal Server -Funktionalität vorkommen kann
weiß zwar nicht was das ist :gruebel: aber auf meinem notebook sind auch öfter mal zwei user angemeldet ... außerdem gehts mir hier ums prinzip :mrgreen: wenn schon mit mutex, dann richtig ;)

phoenix

NicoDE 3. Apr 2004 18:15

Re: Prog auch bei mehreren angemeldeten Benutzern nur 1x sta
 
Zitat:

Zitat von xineohp
weiß zwar nicht was das ist :gruebel:

Das ist eigentlich eine spezielle Server-Version von Windows, die die gleichzeitige Anmeldung von mehreren Benutzern erlaubt.
Windows XP hat einen integrierten Terminal Server mit einer Ein-Benutzer-Lizenz (also etwas beschnitten).

Ich habe es deswegen hingeschrieben, weil auf einem System ohne Terminal Server -Funktionalität (lässt sich ja bei WinXP deaktivieren) das Erzeugen eines Mutex, der mit 'Global\' oder 'Local\' beginnt, fehlschlagen kann/wird.

Vjay 8. Apr 2004 08:17

Re: Prog auch bei mehreren angemeldeten Benutzern nur 1x sta
 
Zitat:

Zitat von NicoDE
Ich habe es deswegen hingeschrieben, weil auf einem System ohne Terminal Server -Funktionalität (lässt sich ja bei WinXP deaktivieren) das Erzeugen eines Mutex, der mit 'Global\' oder 'Local\' beginnt, fehlschlagen kann/wird.

Soweit ich weiss finden Mutexe sich auch nicht wenn man mehrere Desktops verwendet (CreateDesktop). Bist du da sicher dass das mit Global\ nur auf Terminal-Server-Systemen funktioniert. Weil das ist dem OS doch ziemlich egal ob da ein Terminalserver installiert ist oder nicht.
Der TS ist doch auch nur ein Programm, welches CreateWindowStation aufruft.

Oder nicht?

s14 8. Apr 2004 08:48

Re: Prog auch bei mehreren angemeldeten Benutzern nur 1x sta
 
hallo zusammen,
ich hab hier gerade kein XP aber kann man das nicht auch atomar lösen 8)

Delphi-Quellcode:
GlobalAddAtom(string);
Ich meine anstatt Mutex, da das ja nicht zu funktioniern scheint.

slemke76 28. Mai 2008 19:13

Re: Prog auch bei mehreren angemeldeten Benutzern nur 1x sta
 
Hi,

Zitat:

Zitat von Vjay
Bist du da sicher dass das mit Global\ nur auf Terminal-Server-Systemen funktioniert. Weil das ist dem OS doch ziemlich egal ob da ein Terminalserver installiert ist oder nicht.

lt. msdn ist das egal:

Zitat:

Windows 2000: If Terminal Services is not running, the "Global\" and "Local\" prefixes are ignored. The remainder of the name can contain any character except the backslash character.
Quelle: http://msdn.microsoft.com/en-us/library/ms682411(VS.85).aspx

Habe es gerade probiert, mit Global\ kann man das Programm dann tatsächlich nur einmal auf der Maschine starten.

lg
Sebastian

Remko 29. Mai 2008 21:10

Re: Prog auch bei mehreren angemeldeten Benutzern nur 1x sta
 
Slemke is right:
To detect existing application instances, use a global mutex or semaphore object with a known name. Prefix the object's name with "Global\" to ensure that the global namespace is used. This allows you to detect instances of your applications that are running in separate user sessions.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:45 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz