Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: nur eine anwendung mit parametern

  Alt 8. Feb 2004, 16:43
Bezüglich des Mehrfachstarts sollte das gehen
Delphi-Quellcode:
var LHandle: Cardinal;
    Lclass: Array[0..255] of Char;
begin
  CreateMutex(nil,True,'Beliebiger Ausdruck für den Mutex'); //kein mehrfachstart
  if GetLastError = ERROR_ALREADY_EXISTS then //kein mehrfachstart
  begin
    Lhandle := FindWindow(nil, nil);
    while Lhandle <> 0 do
    begin
      GetClassName(Lhandle, Lclass, 255);
      if (Lhandle <> handle) and (string(Lclass) = self.ClassName) then
      begin
        SendMessage(Lhandle, WM_USER + 2, 0, 0); //an dieser Stelle ist dein Einfallsreichtum gefragt, bei meiner Programmvariante sende ich einfach eine message an die bereits laufende instanz welche sich dann in den fordergrund bringt
        Lhandle := 0;
      end else Lhandle := GetWindow(Lhandle, GW_HWNDNEXT);
    end;
    Application.Terminate;
  end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat