19. juli 2002 - 14:09Der er
22 kommentarer og 1 løsning
Forbyd flere kørsler på en gang, hvordan ?
Jeg ved det kan lade sig gøre, at gøre sådan at man kun kan starte et program EN gang, dvs. når man så forsøger at starte det, mens det allerede kører, så sker der intet. Men hvordan gør man det ?
Du kan bruge FindWindow til at se om der allerede kører et program med en bestemt window text eller af en bestemt klasse, hvis ja, lad være med at starte programmet...
Hvis du bruger C++ Builder, så kan det her måske hjælpe lidt... Sådan gøres der i hvert fald i Delphi, så kan du jo bare skrive koden lidt om og bruge de samme API-kald! ;)
FindWindow duer, men hvis jeg smider den i FormCreate så opsnapper den også det første program, dvs. så kan jeg ikke starte programmet overhovedet. Kan man ikke smide den tidligere ?
Og hvilken kommando bruges til at afslutte programmet uden at den når at udføre nogen kode, som f.eks. OnClose, OnDestroy og FormCreate (Det er væsentligt at den ikke når det).
Hmmm, det kan være at det kun er Delphi der benytter initialization og finalization, men det er i hvert fald CreateMutex-funktionen du skal kigge på...
Den skal oprettes når programmet initialiseres! Altså før FormCreate (så vidt jeg ved)...
Uha, det er lang tid siden jeg har arbejdet med Builder...
Jeg mener at der er en Unit1.cpp-fil og så en Project1.h-fil eller noget til projektet... Prøv at kigge på den... Er ikke 100% sikker, da det efterhånden er ved at være noget tid siden...
Ellers skal jeg prøve at finde noget på nettet til dig, men prøv det indtil videre! ;)
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.