PDA

Visualizza la versione completa : [C] Programma in Background


zaknafein
17-04-2004, 13:28
Ho riportato un programma C console da Linux a Windows. Ora dovrei lanciarlo in esecuzione automatica in background, senza che vengano aperte finestre o altro...
In linux semplicemente scrivevo il nome del file seguito da &
Esiste qualcosa di simile anche per Windows? Come devo fare?

Shores
17-04-2004, 13:41
Se un programma per win non scrive sulla console e non apre finestre, viene eseguito senza mostrare nulla, e continua a funzionare in background, se così è fatto.

}gu|do[z]{®©
17-04-2004, 13:46
Originariamente inviato da Shores
Se un programma per win non scrive sulla console e non apre finestre, viene eseguito senza mostrare nulla, e continua a funzionare in background, se così è fatto.

sicuro?

apre cmq per una frazione di secondo la finestrellla del dos o mi sbaglio?

Shores
17-04-2004, 13:50
Si, se è stato compilato come programma per console; no se è stato compilato come programma a finestre ma non crea alcuna finestra.

Attenzione che comunque questo non equivale ad aver ottenuto un daemon di Linux: per fare andare qualcosa in background ANCHE SE NESSUN UTENTE FA LOGIN, bisogna scriversi un servizio...

Fabio Heller
17-04-2004, 13:56
Originariamente inviato da zaknafein
Ho riportato un programma C console da Linux a Windows. Ora dovrei lanciarlo in esecuzione automatica in background, senza che vengano aperte finestre o altro...
In linux semplicemente scrivevo il nome del file seguito da &
Esiste qualcosa di simile anche per Windows? Come devo fare?

Ciao,
prova a lanciare "start programma.exe"

zaknafein
17-04-2004, 14:12
Espongo bene il problema:
Ho una rete di calcolatori dipendenti da un server, questi montano Linux e WindowsXP. Il server monitora il lavoro sulla postazione eseguendo il backup automatico e spegnendo il client dopo un certo tot di tempo (è per un aula di informatica di un liceo).
Tutto questo sotto Linux funziona senza problemi, avendo inserito il comando seguito da & nell'elenco di programmi da eseguire all'avvio. Ora mi è stato chiesto di fare lo stesso programma anche per WindowsXP.. e funziona, l'unico problema è che chiunque può chiudere il mio programma con un semplice click sulla X. Ho bisogno di nascondere la finestra.
Il task manager è stato disabilitato dalle restrizioni dell'account..

kNemo
17-04-2004, 14:12
In Windows per far girare un programma in background devi compilarlo come Win32 no-console...

e invece di int main() devi usare int WINAPI WINMAIN o qualcosa del genere...Cerca nel forum se ne e' parlato...

kNemo
17-04-2004, 14:15
http://forum.html.it/forum/showthread.php?s=&threadid=539433&highlight=background
http://forum.html.it/forum/showthread.php?s=&threadid=620049&highlight=background

Shores
17-04-2004, 14:37
Non solo, ribadisco che in realtà quello che tu vuoi è un servizio, ovvero un programma che giri in background, si avvii con l'avvio del pc anche se non si fa login, e non si possa chiudere essendo un normale utente.

Devi compilare il programma come service, oppure usare una di quelle utility che servono per avviare un normale eseguibile come servizio, se ne trovano parecchie in rete.

Ciao!

Loading