View Full Version : Ripristino programmi
Ciao;
E' possibile da un programma EXE, ripristanare un altro programma EXE che si trova in esecuzione ma ridotto ad icona? il tutto in VB6
Grazie...
Ciao;
E' possibile da un programma EXE, ripristanare un altro programma EXE che si trova in esecuzione ma ridotto ad icona? il tutto in VB6
Grazie...
Ciao, devi usare le API Win32. Ripristinare una finestra iconizzata non è un grosso problema. Esiste infatti la funzione:
BOOL OpenIcon (HWND hWnd);
che come riporta la documentazione: "The OpenIcon function restores a minimized (iconic) window to its previous size and position; it then activates the window".
Il problema semmai è trovare l'handle della finestra che vuoi ripristinare!
Ci sono diverse strade. Puoi usare la funzione FindWindow() se conosci il nome della classe di finestra/titolo della finestra. Oppure puoi usare la funzione EnumWindows() per enumerare tutte le finestre top-level e scegliere l'handle in base magari ad altri test.
Insomma ... dipende molto da cosa è e da cosa conosci dell'applicazione che vuoi ripristinare.
Ciao;
Per quanto riguarda l'applicazione che devo ripristinare non vi sono problemi, perchè si tratta di un exe sempre sviluppato da me. Serve per cosi di fare questo "giochino", perchè uno dei programmi spesso stà ridotto ad icona.
Al verificarsi un un certo evento nell'altro programma devo poter far ricomparire il programma che si trova ridotto ad icona.
Ti ringrazio dei suggerimenti. Magari se avresti qualche stralcio di codice di esempio te ne sarei grata.
Ciao;
Per quanto riguarda l'applicazione che devo ripristinare non vi sono problemi, perchè si tratta di un exe sempre sviluppato da me. Serve per cosi di fare questo "giochino", perchè uno dei programmi spesso stà ridotto ad icona.
Al verificarsi un un certo evento nell'altro programma devo poter far ricomparire il programma che si trova ridotto ad icona.
Ti ringrazio dei suggerimenti. Magari se avresti qualche stralcio di codice di esempio te ne sarei grata.
Ciao, io purtroppo non sono esperto di VB (e non ce l'ho neanche), quindi non posso scrivere/testare alcun codice.
Però ho fatto una ricerca con google ed ho trovato <questo> (http://www.vbcode.com/asp/showsn.asp?theID=574).
È uno stralcio di codice in VB che serve per impedire di avere più istanze della stessa applicazione. In sostanza va a cercare se esiste già la finestra della applicazione e in tal caso la riattiva. Ed usa proprio le funzioni FindWindow e OpenIcon che ti ho detto.
Ovviamente devi riadattartela perché tu non devi impedire più istanze della tua applicazione ma semplicemente riattivarne un'altra.
Grazie. Farò qualche prova per vedere se possa fare al caso mio oppure no.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.