Benvenuto! Per postare e godere delle funzionalità del forum registrati, occorrono pochi secondi ed è gratis!

[Guida] C++ eseguire un'istanza alla volta
(Questo messaggio è stato modificato l'ultima volta il: 19/04/2011, 16:32 da digger.)

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
Ciao a tutti,
nel caso a qualche sviluppatore di applicativi C++ interessasse la risposta alla domanda "come faccio a fare in modo che il mio programma non possa essere aperto piu volte contemporaneamente sullo stesso pc?" può vedere qui sotto un modo (ce ne sono altri):

    C++ Programming
  1. #include <windows.h>
  2.  
  3. HANDLE mtx;
  4. void main()
  5. {
  6. mtx = OpenMutex(MUTEX_ALL_ACCESS, false, "MioMutex");
  7.  
  8. if (mtx)
  9. {
  10. MessageBox(NULL,"Programma già caricato!","",MB_OK);
  11. return;
  12. }
  13.  
  14. mtx = CreateMutex (NULL, true, "MioMutex");
  15.  
  16. while (!GetAsyncKeyState(VK_ESCAPE))
  17. {
  18. Sleep(200);
  19. }
  20. }



ovviamente il ciclo finale con il GetAsyncKeyState non serve, è li solo per simulare che il programma sta girando e fa qualcosa, intanto che è aperto lanciate di nuovo l'eseguibile e vedrete che vi darà errore dicendo che è già caricato e uscirà, lasciando di fatto un solo programma running



digger
19/04/2011, 16:27
#1
Cerca


Messaggi in questa discussione
C++ eseguire un'istanza alla volta - da digger - 19/04/2011, 16:27
[Nessun oggetto] - da andry700 - 19/04/2011, 19:00
[Nessun oggetto] - da digger - 19/04/2011, 21:33
[Nessun oggetto] - da L0s3rZ95 - 20/04/2011, 11:37
[Nessun oggetto] - da andry700 - 20/04/2011, 21:17

Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  Ogni volta che accendo il pc mi viene "GfxUI Ha smesso di funzionare". Soul Fire 8 6,063 22/08/2011, 0:04
Ultimo messaggio: Skyline@69



Utenti che stanno guardando questa discussione: 1 Ospite(i)