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:

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

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 ;).

PM Quote