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/C++ - Nascondere il file in esecuzione
Forum - C/C++ - Nascondere il file in esecuzione

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
skirk (Ex-Member)
Pro


Messaggi: 199
Iscritto: 01/09/2005

Segnala al moderatore
Postato alle 5:04
Lunedì, 26/06/2006
Quando creo un prgz in C++ e lo eseguo, non voglio che venga visualizzato ne come finestra ne nel task manager, che comando uso?



PM Quote
Avatar
cH!cus (Ex-Member)
Pro


Messaggi: 149
Iscritto: 03/04/2006

Segnala al moderatore
Postato alle 20:55
Lunedì, 26/06/2006
Beh nei sistemi Win 9x bastava due funzioni API (mi pare RegisterProcess e/o qualcosa del genere...) che, praticamente, attraverso dei precisi parametri passati a questa funzione facevano diventare il processo un Service, e quest'ultimo non veniva visualizzato nella task list. Con i sistemi operativi creati con base NT (quindi Win nt, xp, 2000 eccc) non funziona più il metodo scritto sopra.

In alcuni modi è possibile comunque disabilitare direttamente il taskmanager di windows (del tipo che se premi ctrl+alt+canc non viene fuori nessun taskmanager), ma non ricordo bene come (cerca su google).

Se poi non riesci proprio a risolvere, beh, ti conviene studiarti bene il core di Windows. Magari potresti creare un programma che prende il sopravvento su tutto il sistema operativo (non è facilissimo ma nulla è impossibile se lo si vuole).

Se vuoi un consiglio studiati affondo le API win32 e come interagiscono con il sistema.

ciau :D

PM Quote
Avatar
skirk (Ex-Member)
Pro


Messaggi: 199
Iscritto: 01/09/2005

Segnala al moderatore
Postato alle 21:09
Lunedì, 26/06/2006
Si, però a me viene fuori la finestrella di DOS e io voglio che questo non accada :). Non mi serve che non si visualizzi nel Task...

SkirK

PM Quote
Avatar
cH!cus (Ex-Member)
Pro


Messaggi: 149
Iscritto: 03/04/2006

Segnala al moderatore
Postato alle 1:17
Martedì, 27/06/2006
Del task manager l'avevi scritto te eh...:-| Cmq in C++ per nascondere la tua finestra dovresti ricavare l'handle della tua finestra con GetModuleHandle e poi passarlo a ShowWindow (qui c'è la lista dei parametri... http://msdn.microsoft.com/library/default.asp?url=/library ... dicendogli di mettere hidden la finestra. Premetto che per fare questo devi includere windows.h. Allora il codice dovrebbe essere una cosa del genere...

Codice sorgente - presumibilmente Plain Text

  1. /* Con questo ricavi l'handle della tua finestra e lo metti nella variabile hInstance */
  2. HINSTANCE hInstance = GetModuleHandle(NULL)
  3.  
  4. /* poi con questo qua sotto non dovresti vedere piu la finestra. */
  5. ShowWindow(hInstance, SW_HIDE);



Il codice qui sopra funziona solo se compili il programma  in modo che sia per Win32 (tipo come Vc++ o DevC++). Se lo compili con roba tipo borland turbo c++ non penso funzioni xche quello è dos puro.

Ti consiglio di leggerti bene la pagina di cui ti ho mando il link (è l'MSDN).

ciao fammi sapere;)

PM Quote
Avatar
skirk (Ex-Member)
Pro


Messaggi: 199
Iscritto: 01/09/2005

Segnala al moderatore
Postato alle 11:28
Martedì, 27/06/2006
Si, scusa per il task, non ero stato chiaro, grazie, dovrebbe bastarmi :D

PM Quote
Avatar
cH!cus (Ex-Member)
Pro


Messaggi: 149
Iscritto: 03/04/2006

Segnala al moderatore
Postato alle 13:57
Martedì, 27/06/2006
di nulla, se posso aiutare aiuto:D

PM Quote
Avatar
skirk (Ex-Member)
Pro


Messaggi: 199
Iscritto: 01/09/2005

Segnala al moderatore
Postato alle 14:29
Martedì, 27/06/2006
Cazz, non riesco a fa funzionare il tutto. Il codice non funge.
Codice sorgente - presumibilmente Plain Text

  1. ShowWindow(hInstance, SW_HIDE);


PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 21:24
Mercoledì, 28/06/2006
Errore di compilazione o runtime?


Il mio blog: https://piero.dev
PM Quote
Avatar
skirk (Ex-Member)
Pro


Messaggi: 199
Iscritto: 01/09/2005

Segnala al moderatore
Postato alle 22:09
Mercoledì, 28/06/2006
#include <iostream>
#include <windows.h>

int main() {
/* Con questo ricavi l'handle della tua finestra e lo metti nella variabile hInstance */
HINSTANCE hInstance = GetModuleHandle(NULL)

/* poi con questo qua sotto non dovresti vedere piu la finestra. */
ShowWindow(hInstance, SW_HIDE);

cout << " CIAO ";
system("pause");
}



Errore:

expected ; or ; before "ShowWindow"
cout undeclared

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo