Oppure

Loading
26/03/10 15:24
robrock80
Salve a tutti. Come si fà a fare in modo che di un processo ne esista un unica istanza?
aaa
26/03/10 19:21
nessuno
Utilizza un mutex con nome.

Crea il mutex con la

CreateMutex

e controlla se esiste già o no.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
26/03/10 20:18
robrock80
Senti, ho fatto prima come mi hai detto tu, ossia
	HANDLE mutex = CreateMutex(
	        NULL,                        
	        TRUE,                       // Anche con false non funziona	        
TEXT("rgklServer"));
	if (mutex != NULL) {
		doServer();
	}


Però non ha funzionanto, invece in quest'altra maniera si
	HANDLE mutex = OpenMutex(MUTEX_ALL_ACCESS, TRUE, TEXT("rgklServer"));
	if (mutex == NULL) {
		CreateMutex(NULL, TRUE, TEXT("rgklServer"));
		doServer();
	}




Ma logicamente è meglio come hai detto tu, ossia prima crei e poi controlli in modo da avere la certezza assoluta: ho sbagliato forse qualcosa nello scrivere la tua versione?
Ultima modifica effettuata da robrock80 26/03/10 20:18
aaa
27/03/10 8:39
nessuno
La documentazione ... questa sconosciuta ... perchè non la studi approfonditamente?

CreateMutex
msdn.microsoft.com/en-us/library/…(VS.85).aspx

e quindi

HANDLE mutex = CreateMutex(NULL, TRUE, TEXT("rgklServer")); 

if(GetLastError() == ERROR_ALREADY_EXISTS)
    printf("Server gia' in esecuzione");
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
27/03/10 10:28
robrock80
Ok, funziona, ma stàvolta ci avevo visto nella documentazione: avevo visto anche quello che mi avevi detto tu, ma probabilmente h

msdn.microsoft.com/en-us/library/…(VS.85).aspx

Grazie di nuovo
Ultima modifica effettuata da robrock80 27/03/10 10:30
aaa
27/03/10 10:29
nessuno
Postato originariamente da robrock80:

ci avevo visto


L'avevo capito che ci "avevi visto" ... non a caso ti ho detto "studi approfonditamente" ... :)
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
27/03/10 10:31
robrock80
Cavoli, non ti sfugge niente, 6 proprio forte!:k:
aaa