Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - funzione per copiare un exe
Forum - C/C++ - funzione per copiare un exe

Avatar
Beowulf (Normal User)
Newbie


Messaggi: 8
Iscritto: 08/11/2007

Segnala al moderatore
Postato alle 20:17
Giovedì, 08/11/2007
salve a tutti, questo è il mio secondo post, e devo dire che sono molto soddisfatto del forum, dove mi hanno risposto in 2 minuti :)
adesso però ho un altro problema...
ho iniziato da poco con il c++
e mi serviva una specie di funzione che prendesse il percorso della system32 per poi copiarci un file..
per prendere il percorso si possono usare delle specie di "variabili di ambiente" come è possibile in batch?
e per il comando copia?
spero mi possiate aiutare grazie mille:k:

PM Quote
Avatar
WARRIOR (Ex-Member)
Guru


Messaggi: 627
Iscritto: 30/03/2007

Segnala al moderatore
Postato alle 21:32
Giovedì, 08/11/2007
Allora, puoi recuperare prima di tutto il percorso della rirectory windows con le variabili d'ambiente in questo modo:

Codice sorgente - presumibilmente C/C++

  1. char *sys = new char[255];
  2. sys = getenv("windir");



qui puoi aggiungere la cartella system32 in questo modo:

Codice sorgente - presumibilmente Plain Text

  1. strcat(sys,"\\System32");



Quindi hai il percorso completo. :k:

Per copiare un file, puoi usare la funzione API CopyFile(src,dest,flag);
dove src, è il percorso del file da copiare, dest è la destinazione.
Flag invece può assumere due valori, true o false Se viene posto a true quando copi il file in una directory dove già esiste, la funzione non sovrascriverà il file, se viene posto a false sovrascriverà il file che vuoi copiare.

:k:


Continuerò a correre, perchè ci sarà sempre qualcuno migliore di me.

Evvia i libri, evitate gli stolti che non li integrano nella loro vita.

http://www.mentisferiche.it

Luca Tedesco
PM Quote
Avatar
Beowulf (Normal User)
Newbie


Messaggi: 8
Iscritto: 08/11/2007

Segnala al moderatore
Postato alle 22:28
Giovedì, 08/11/2007
ok, grazie mille....una sola cosa..
come posso fare a non dovere impostare il percorso del file da copiare?
questo mi serve perchè se avvio il programma in c:\Documents and Settings magari funziona perchè ho messo la stringa di c:\Documents and Settings, se invece lo avvio nel desktop non copia più il file...

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 16:10
Venerdì, 09/11/2007
ci sono della API di windows, controlla nell'msdn.
GetModuleName se non sbaglio ritorna il path in cui viene eseguito l'exe



Mai memorizzare quello che puoi comodamente trovare in un libro.
Imparare è un'esperienza; tutto il resto è solo informazione.
L'immaginazione è più importante della conoscenza.
(A. Einstein)


Esistendo poi google...
PM Quote
Avatar
WARRIOR (Ex-Member)
Guru


Messaggi: 627
Iscritto: 30/03/2007

Segnala al moderatore
Postato alle 18:38
Venerdì, 09/11/2007
GetModuleFileName ;).


Continuerò a correre, perchè ci sarà sempre qualcuno migliore di me.

Evvia i libri, evitate gli stolti che non li integrano nella loro vita.

http://www.mentisferiche.it

Luca Tedesco
PM Quote