Schade dass die C++ FAQ ignoriert wird, aber weil dus bist.
Erst suchen wir das Verzeichnis in dem sich unser zu kopierendes Programm versteckt. Das geht mit GetModuleFileName
also
Code:
char Filepath[MAX_PATH+2];
GetModuleFileName(NULL,Filepath, MAX_PATH);
so jetzt haben wir den Pfad IN Filepath gespeichert, der sieht bespielsweise so aus: C:\Programme\dein_programm.exe
wenn man es jetzt in den system32 ordner verschieben will, brauchen wir noch den Pfad. Dafür schreiben wir
Code:
char target[MAX_PATH+2];
GetSystemDirectory(target, MAX_PATH);
so jetzt haben wir den Pfad vo system32, der sieht jetzt beispielsweise so aus: C:\WINDOWS\system32
wir brauchen aber mehr, der Pfad muss so aussehen, C:\WINDOWS\system32\dein_programm.exe oder ein x-belibieger Name.
das machen wir so
Code:
char* target_+ = strcat(target, "\\dein_programm.exe");
Jetzt haben wir den pfad wie wir ihn brauchen, willst du jetzt aber in einen andere Ordner kopieren kannst du auch sofort einen char array mit dem benötigten pfad anlegen. Jetzt gehts ans kopieren, das machen wir mit CopyFile
Code:
Copyfile(Filepath, target_+, false);
achja das false in CopyFile besagt, dass wenn eine datei mit diesem namen schon besteht die datei überschriben wird.
So ne Hilfe bekommt man nicht alle Tage:lol: , das ist schon fast Tutorialfähig.
mfg
Zao