måske lyder det lidt dumt men prøv dette lav et Boolean i reg name procces hvergang programmet kører skal den være true og hvis det er lukket false så kan du arbejde vidre derfra ^^
Når dit program startes må det søge efter allerede åbne instanser. Hvis der findes andre, så skal det tage fat i instansen og fodre den med de parametre som programmet ligger inde med og derefter terminere (på en eller anden måde må du forhindre at den anden instans forsøger at sende parametrene tilbage igen (den skal ikke tjekke om der er andre instanser - for der kan jo gå lidt tid inden det er afsluttet).
I øvrigt kan dit brug af registreringsdatabasen forbedres lidt. Der er bl.a ingen grund til at bruge CloseKey før alle data er skrevet til databasen - en Free til TRegistry vil også skrive det hele (alternativt kan du lege lidt med LazyWrite propertien):
with TRegistry.Create do try RootKey := HKEY_CLASSES_ROOT; if OpenKey('FreeMail',true) then WriteString('', 'FreeMail fil'); // Default values from WinNT and up
if OpenKey('FreeMail\DefaultIcon', True) then WriteString('', Application.ExeName+',0');
if OpenKey('FreeMail\shell\open\command', True) then WriteString('', Application.ExeName + ' "%1"');
if OpenKey('.fmsg', True) then WriteString('', 'FreeMail'); finally Free; end;
hrc -> Du skriver: "En anden løsning er kun at tillade een instans." Hvordan gør jeg dette?
Til den anden løsning: Har du lidt kode (evt en artikel)?
Hilsen Mark
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.