Oppure

Loading
08/01/11 19:08
Xaero
Salve. Ho due applicazioni scritte in vb.net: la prima avvia la seconda ogni circa 15 secondi. Come posso rendere la seconda applicazione invisibile agl'occhi dell'utente?
Ho provato ad impostare il form invisibile nell'evento Form1_Shown, ma in ogni caso Windows cede il focus all'applicazione (se pur per qualche frazione di secondo) rendendone fastidioso l'utilizzo.
Come posso fare? Grazie in anticipo.
aaa
08/01/11 19:33
netarrow
fai un Windows Service
aaa
09/01/11 12:43
Xaero
Non essendo molto pratico di Windows Service, mi sapresti indicare dei tutorial per Visual Studio 2010, o come fare per per installarlo automaticamente nel caso dovessi distribuire un setup.

Oppure se conosci qualche metodo alternativo senza usare un Windows Service.
Ultima modifica effettuata da Xaero 09/01/11 14:12
aaa
09/01/11 12:55
netarrow
Per creare il windows service è molto semplice: crei un progetto di quel tipo e poi inserisci il tuo codice sotto i metodi OnStart, OnStop, OnContinue e OnShutdown.

Nel tuo caso al OnStart basterà avviare un Timer che ogni tot secondi controllerà se l'altra applicazione è aperta o meno e in tal caso la avvia. Negli altri metodi gestirai lo stop, il riavvio del timer e la disattivazione del servizio.

Attenzione: per il Timer NON devi usare il componente WinForm che in un windows service non funziona, devi utilizzare quello sotto il namespace System.Threading

Anche l'installazione è semplice da fare.
Il riferimento è sempre msdn: msdn.microsoft.com/en-us/library/…(v=VS.100).aspx
Ultima modifica effettuata da netarrow 09/01/11 12:57
aaa
09/01/11 14:15
Xaero
Capito, ma il problema non è dell'applicazione che ogni tot secondi avvia la seconda, ma rendere del tutto trasparente quest'ultima (che solitamente è un'applicazione che dopo una quindicina di secondi si chiude dopo aver effettuato dei controlli).
aaa
09/01/11 14:18
netarrow
A questo punto potresti fare una unica applicazione sotto forma di windows service che ogni 15 secondi fa il controllo, invece di avviarne un'altra.
aaa
09/01/11 15:54
Xaero
Sarebbe comodo, ma la prima applicazione (che lancia ogni 15 secondi l'altra) mi serve per comunicare con l'utente.

Mi servirebbe giusto sapere come rendere trasparente l'applicazione che viene lanciata spesso, se possibile senza ricorrere all'utilizzo di un Windows Service.
aaa
09/01/11 16:06
netarrow
Allora tieni sempre aperta in background l'applicazione, riducendola ad esempio nella try e fai si che si autoriattivi nel momento che serve.
aaa