|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: May 2006
Messaggi: 21
|
[c++]background sotto Windows....
Ciao a tutti!!!!
vi chiedo un'informazione semplice semplice.... devo far girare un mio programma in c++ in background... sotto linux basta una & ma...sotto Windows??? E soprattutto, è qualcosa che "aggiungo" quando eseguo il mio programma o devo aggiungere qualcosa nel codice?? vorrei che il programma partisse in background di "defoult" senza che sia l'utente a specificarlo quando avvia il programma...è possibile?? grazie a tutti in anticipo....ma fatemi sapere!!!!! ![]() |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Su linux se lanci un qualcosa dalla shell con comando &, succede che il comando viene eseguito in background e la shell non aspetta che il comando termini. Quindi dipende molto da cosa fa il tuo programma e da come/dove viene avviato. Se ti spieghi meglio su cosa devi fare è meglio.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: May 2006
Messaggi: 21
|
Ehm....scusami, mi sono spiegata male!!! Allora, ti racconto tutto...
Il mio programma prende in ingresso un file con una lista di URL e controlla ciclicamente se questi sono stati aggiornati... quando questo accade il programma avvisa l'utente.... Quello che mi immagino io per background è che quando chiamo il mio programma dal prompt dei comandi questo parte ma poi mi "libera il prompt" (come sucede nella shell di linux aggiungendo & al nome del programma.) permettendomi di inviare altri comandi, mostrandomi solo l'avviso quando una pagina è stata aggiornata (dopodichè dovrebbe ritornare in background) ....è possibile una cosa del genere? spero di essermi spiegata meglio, e grazie mille per la risposta!!!! ![]() la |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Apri su Windows un "Prompt dei comandi" e lancia notepad oppure calc. Viene avviata l'applicazione e il prompt è subito disponibile. ![]()
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Invece che lanciare la tua applicazione invocando semplicemente il suo nome, potresti farla precedere dalla keyword "start".
Esempio: invece di scrivere: calcola scrivi start calcola Non so se e' l'effetto che desideravi.... High Flying Sottovento
__________________
In God we trust; all others bring data |
![]() |
![]() |
![]() |
#6 |
Junior Member
Iscritto dal: May 2006
Messaggi: 21
|
beh...ora come ora il mio programma nn è un'applicazione GUI.....perchè nn libera assolutamente il prompt.....a questo punto la mia domanda è: come faccio a farla diventare gui??
....altrimenti dovrò optare per l'opzione di sottovento ed usare start che mi apre un'altro prompt.....ma non era esattamente quello che volevo!! (anzi...che vuole il prof!!! :P ) cmq grazie ad entrambi per l'interessamento!!!! |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960
|
GUI è l'acronimo di Graphic User Interface - o più comunemente, interfaccia grafica -, e non penso che sia quello che vuole il tuo prof, anche se una soluzione con un'icona nella system tray non penso sia da buttar via! ...solo che la console a sto punto non c'azzeccherebbe na mazza!
Stavo pensando che magari potrebbe essere fattibile "trasformando" l'applicazione in un servizio, ma non so se i servizi possano indirizzare l'output alla console lasciandola libera quando non ne hanno bisogno! 'iao |
![]() |
![]() |
![]() |
#8 |
Junior Member
Iscritto dal: May 2006
Messaggi: 21
|
No il mio programma non ha interfaccia grafica...e non mi è stata richiesta.
Orph3n, scusa per la mia infinita ignoranza in materia (abbiate pazienza)...cosa intendi per servizi?? ma possibile che nn ci sia un comando analogo al & di linux?? o una funzione del C/c++ che manda l'esecuzione in background????? grazie della pazienza!!! |
![]() |
![]() |
![]() |
#9 | |||
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
A livello di sorgente cambia il fatto che una applicazione console inizia con il main() mentre una applicazione GUI inizia con WinMain() (e i parametri sono completamente diversi!!). Poi ovviamente è anche una questione di linker, che va istruito a dovere con delle apposite opzioni per creare un eseguibile "marchiato" in un modo o nell'altro. Quote:
Una delle peculiarità fondamentali di un servizio è che viene avviato prima del logon. In pratica viene avviato ben prima che all'utente appaia la classica finestra di autenticazione che chiede utente/password. Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|||
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7258
|
Quote:
![]() comunque secondo me non ti resta che l'"esegui comando" dal menu start (o win+x se non erro). se lo lanci da lì va in background che io sappia.. |
|
![]() |
![]() |
![]() |
#11 |
Member
Iscritto dal: Oct 2004
Città: Bologna
Messaggi: 50
|
Un servizio sotto windows è l'analogo di un demone nei sistemi *nix.
edit: ops, vedo ora che ti hanno già risposto e in modo molto preciso
__________________
And the salad is frightful! I have an important message to deliver to all the cute people all over the world. If you're out there and you're cute, maybe you're beautiful. I just want to tell you something: there's more of us ugly mother-fuckers than you are, hey-y, so watch out. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:08.