|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Versilia
Messaggi: 569
|
Evitare di lanciare due volte un .exe
Salve a tutti!
Lavoro sotto Borland C++ Builder 4. Qual'è un metodo veloce per evitare che l'applicazione che creo non possa essere lanciata due volte? Grazie a tutti! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Crei una named mutex con CreateMutex e metti InitialOwn a 0...se waitforsingleobject ti va in timeout (impostando il timeout a 0) allora il programma è già aperto...e lo chiudi... Ricordati di rilasciare la mutex quando esci dal programma...
http://msdn.microsoft.com/library/de...ex_objects.asp Ultima modifica di cionci : 05-04-2005 alle 12:09. |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Versilia
Messaggi: 569
|
Quote:
A me in verità serve che il mio programma non parte se in esecuzione ce n'è un ltro differente. Coiè io dovrei proprio chiedere a Win quali programmi ha in esecuzione e poter vedere se tra quelli c'è o no quello che contrasta con il mio!! Un bel po' diverso da quello che ho scritto nel primo post... perdono! |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ah...ecco...allora usa FindWindow...
|
|
|
|
|
|
#5 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
Altra alternativa è enumerare le finestre con EnumWindows. Il callback chiamato da questa funzione ti passa l'handle alla finestra da cui puoi trovare classe (GetClassName), titolo della finestra (GetWindowText), id del processo/thread(GetWindowThreadProcessID, grazie a questi ultimi puoi trovare la directory del file: se sei in xp -> GetModuleFilenameEx, altrimenti devi usare la toolhelp library come ha detto 71104)
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Versilia
Messaggi: 569
|
Quote:
Grande, ho risolto anche questo problema!!! Grazie a tutti ed in particolare a cionci, sempre gentilissimo! |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
|
Scusate ma voglio rilanciare un attimo questa domanda aggiungendo:
Si può fare la stessa cosa su linux, come??? Ciao.. |
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
|
Quote:
|
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Nov 2001
Città: Trento
Messaggi: 7095
|
Quote:
__________________
MyPC: A7A266 - Thoro1800+@2000+ - SK6 - 512DDR - FX5200 128MB - SBLive!1024 - MAXTOR120GB - Liteon LTR52327S LDW-451S HTPC: Case uATX QTec - GA 7VM400M - Duron1600 - ALX800 - 256DDR - Radeon7000 - LiteOn166 - Pow by GeexBox 0.98.5 Utenti con cui ho trattato |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:55.



















