Thema: Delphi Frage zum Programmaufruf

Einzelnen Beitrag anzeigen

silentAMD

Registriert seit: 27. Sep 2003
203 Beiträge
 
Turbo Delphi für Win32
 
#1

Frage zum Programmaufruf

  Alt 10. Mär 2004, 19:29
Hi,
ich möchte, dass mein prog nur 1x aufgerufen wird. das habe ich mit folgendem code..

..in der form-datei (*.pas)
Code:
function BereitsAktiv: Boolean;
var semName: PChar; hSem: THandle;
begin
Result := False;
GetMem(semName,11);
StrPCopy(semName,'ARV'+B);
hSem := CreateSemaphore(nil,0,1,semName);
if (hSem <> 0) and (GetLastError = ERROR_ALREADY_EXISTS) then
begin
 CloseHandle(hSem);
 Result := True;
end;
FreeMem(semName,11);
end;
..und in der hauptdatei (*.dpr)
Code:
begin
if BereitsAktiv then Application.Terminate
else begin
//...
try
 Bitte:=TBitte.Make('Das Programm wird gestartet');
 Bitte.Show;
 Bitte.Refresh;
 Application.Initialize;
 Application.CreateForm(TFenster, Fenster);
finally
 Bitte.InitializationDone := True;
end;
Application.Run;
end;
end.
das mit dem bitte ist ein splashscreen, aber nicht weiter wichtig...

nun möchte ich, wenn ich das programm ein zweites mal starten will, dass das programm in den vordergrund gerückt wird (wie z.b. bei winamp).


PLEASE HELP!!!
  Mit Zitat antworten Zitat