AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

shellexecute nach createmutex

Ein Thema von eyeless · begonnen am 16. Aug 2005 · letzter Beitrag vom 16. Aug 2005
 
eyeless

Registriert seit: 12. Aug 2005
49 Beiträge
 
#1

shellexecute nach createmutex

  Alt 16. Aug 2005, 13:46
hallo,

ich habe eine routine, die per createmutex testet, ob ein programm läuft und wenn nicht, dann soll es gestartet werden:

Delphi-Quellcode:
const
  cMutexID = 'MoppleMapper';
var
  Mutex: THandle;
  HAPPLICATION: HWND;
begin

Mutex := CreateMutex(nil, True, cMutexID);
if (Mutex <> 0) and (GetLastError = 0) then
 begin
  WinExec(PChar(ExtractFilePath(Application.ExeName) + 'moppl_map.exe'), SW_SHOW);
  Mutex := CreateMutex(nil, True, cMutexID);
 end;


{HAPPLICATION := 0;
repeat
HAPPLICATION := FindWindowEx(0,HAPPLICATION, 'TApplication', PChar('MoppleMapper'));
until HAPPLICATION <> Application.Handle;}


end;
wenn ich das jez ausführe und das programm lief schon, iss alles super, WENN das programm allerdings vorher noch nicht lief und ich die procedure ausführe, macht der cursor für ca. 5 sec nur einen auf sanduhr und dann gehts weiter.

warum? muss ich den mutex dann wieder löschen? wie?

haha, ok, hat sich erledigt, CloseHandle(mutex), was sonst ... sorry, kann gelöscht werden ..

mfg, eyeless
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz