Newsgroup: it.comp.lang.visual-basic
Titolo: La prima di una lunga serie...

Salve ragazzi, mi chiamo Michele e sto aggiornando un mia applicazione.
Mi trovo di fronte ad alcuni problemi che non so bene come risolvere e dato
che sicuramente non risulteranno banali spero che possano attrarre la vostra
attenzione (ed anche che possano essere risolti).
Dall'interno dell'applicazione devo mandare in esecuzione altre applicazioni
specificate a suo tempo dall'utente.
Al verificarsi di alcuni eventi che non importa specificare in questo
momento, devo essere in grado di chiudere le applicazioni che ho lanciato
precedentemente (Anche nuove istanze eventualmente lanciate a mano
dall'utente).
Dal codice che ho recuperato in Internet, sono in grado di avere l'elenco
dei task attivi ed anche di chiudere un task specificando come parametro il
testo della finestra.
Il problema è però che dell'applicazione che ho lanciato conosco soltanto il
nome dell'eseguibile e non il titolo della sua finestra che potrebbe anche
essere completamente diverso.
Spero di essere stato abbstanza chiaro.
Sicuramente una soluzione c'è e sarà anche semplice...speriamo!!
Ringrazio chiunque mi sappia rispondere.
Alla prossima
Michele

dall'utente).
Sito Comune: ApriChiudi.zip
Ciao,
Moreno
#sirri#@#morenosoft#.com
(togliete "#" dall'indirizzo)
Moreno Sirri VB Site - 
http://www.morenosoft.com/MSVBSite/
---------------------------------------------------------------------------
Le risposte alle tue domande le trovi sul Sito Comune di questo NewsGroup:
 
http://www.murialdo.it/it_lang_vb
---------------------------------------------------------------------------

specificate a suo tempo dall'utente.
]zac[

essere completamente diverso.
Se non sai neanche un po' del titolo, non so aiutarti. Se ne sai
almeno una parte, anziche' usare l'API FindWindow puoi usare l'API
FindWindowLike --come suggeritomi da qualcuno qualche settimana fa,
pero' non ho ancora controllato--.
Saluti.
-- 
      Gianni "bugbarbeq" Rondinini, 25, RA, 242, 152
  VBR - Vero Birro Romagnolo®, diffidate dalle imitazioni!
 Opel/ECC Calibrezio EVO-IV --- Kawasaki "Gas Gas" ZZ-R 1100
 ICQ# 36893168 - IRCNet: bugbarbeq, @ on #linux-it & #NetBSD

 ha scritto nel messaggio
news:957fkj$lsh$1...@fe1.cs.interbusiness.it...


Ammetto di essere ignorante in materia ma mi chiedo, non esiste un modo per
Naturalmente il problema nasce dal faccio che quando apri 2 volte la
stessa applicazione, l'handle alla prima istanza viene perso. Dovresti
allocare un array per gli handle per ogni programma, anziche' tenerne
soltanto uno. E' una modifica relativamente semplice da fare al
programma, pero' ha bisogno di un po' di considerazioni: se devi
chiudere tutte le istanze di quell'applicazione, allora basta ciclare
nell'array degli handle e uccidere i processi uno alla volta.
Naturalmente, se vuoi uccidere solo una delle istanze la cosa e' molto
piu' complessa.


 dell'eseguibile risalire al task in esecuzione?
Devi utilizzare la libreria ToolHelp sotto Win 9x e la PSAPI sotto
WinNT. Sotto Win200 sono disponibili entrambe.
Con queste trovi il nome di tutti gli eseguibili in esecuzione.
Cerca su MSDN PlatformSDK->Base Services->Helper Libraries->Tool Help
Libraries per la lib. ToolHelp e Base Services->Performance
Monitoring->Process Status Helper per la PSAPI.
Ciao.