Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Nascondere applicazione
Forum - C# / VB.NET - Nascondere applicazione

Avatar
Xaero (Normal User)
Rookie


Messaggi: 34
Iscritto: 04/10/2008

Segnala al moderatore
Postato alle 20:08
Sabato, 08/01/2011
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.

PM
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Up
2
Down
V
Segnala al moderatore
Postato alle 20:33
Sabato, 08/01/2011
fai un Windows Service

PM
Avatar
Xaero (Normal User)
Rookie


Messaggi: 34
Iscritto: 04/10/2008

Up
0
Down
V
Segnala al moderatore
Postato alle 15:15
Domenica, 09/01/2011
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).

PM
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Up
0
Down
V
Segnala al moderatore
Postato alle 15:18
Domenica, 09/01/2011
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.

PM
Avatar
Xaero (Normal User)
Rookie


Messaggi: 34
Iscritto: 04/10/2008

Up
0
Down
V
Segnala al moderatore
Postato alle 16:54
Domenica, 09/01/2011
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.

PM
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Up
0
Down
V
Segnala al moderatore
Postato alle 17:06
Domenica, 09/01/2011
Allora tieni sempre aperta in background l'applicazione, riducendola ad esempio nella try e fai si che si autoriattivi nel momento che serve.

PM
Avatar
Xaero (Normal User)
Rookie


Messaggi: 34
Iscritto: 04/10/2008

Up
-1
Down
V
Segnala al moderatore
Postato alle 13:43
Domenica, 09/01/2011
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 il 09/01/2011 alle 15:12
PM
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Up
-1
Down
V
Segnala al moderatore
Postato alle 13:55
Domenica, 09/01/2011
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: http://msdn.microsoft.com/en-us/library/zt39148a(v=VS.100) ...

Ultima modifica effettuata da netarrow il 09/01/2011 alle 13:57
PM