CopyFile() - Klappt unter Windows Vista nicht?
-
Nein
Was auch komisch ist mit fopen etc. kann ich eine Datei mit gleichen Namen in das zu kopierende Verzeichnis schreiben.
Nur mit CopyFile gehts nicht.
-.-
-
lol, was für eine Datei willst du überhaupt kopieren?
und wohin?
-
Will mein Program von User\Eigene Dateien\Test\Test.exe zu User\Eigene Dateien\Test1.exe kopieren.
Wenn ich aber ne Datei in Eigene Dateien mi fopen etc. erstelle geht des...
-
Du kannst aber soweit ich weiß unter Windows nicht auf die exe des Programms, das gerade läuft, zugreifen.
-
WinVista schrieb:
Will mein Program von User\Eigene Dateien\Test\Test.exe zu User\Eigene Dateien\Test1.exe kopieren.
Wenn ich aber ne Datei in Eigene Dateien mi fopen etc. erstelle geht des...das ist nicht erlaubt. dafür musst du administrator sein
-
WinVista schrieb:
Auch wenn ich das Programm als Administrator starte erhalte ich immer noch 0.
aber ehrlich, ich weiß auch nich weiter

sry
-
Hm am besten Vista in der Systemsteuerung uninstallieren, dann hast du wieder Windows XP! weiss aber nicht ob das auch geht, wenn man die vollversion und nicht das update benutzt hat
-
lol, am besten unter Vista UAC deaktivieren, das is natürlich noch ne Möglichkeit, die man probieren müsste :p
damit umgeht man die ganzen Berechtigungsüberprüfungen.also gehst auf Systemsteuerung
-> Benutzerkonten
dann gibts da iwo "Benutzerkontensteuerung" oder so ähnlich, hab grad kein Vista laufen.auf jeden Fall ist da ein Haken drin, den machst du raus.
anch einem System Reboot hast du dann ein Vista mit dem Sicherheitsstand von XP
einfach mal probieren
PS:
hier gibts auch ne Erklärung zum ausschalten der UAC:
http://www.administrator.de/Windows_Vista_-_UAC_deaktivieren.htmlansonsten einfach gogolen, da kommen genug seiten

-
ist vieleicht dein programm, was die test.exe kopieren soll, die test.exe!?
-
@rT!f@Ct schrieb:
ist vieleicht dein programm, was die test.exe kopieren soll, die test.exe!?
nein die test.exe kopiert die test.exe selbst, das problem tritt auch auf wenn ich die datei test2.exe nenne
-
LOL...
ich schmeiß mich weg vor lachen...WinVista schrieb:
nein die test.exe kopiert die test.exe selbst
was bitte hab ich denn geschrieben.
@rT!f@Ct schrieb:
ist vieleicht dein programm, was die test.exe kopieren soll, die test.exe!?
dein programm kann sich nicht selbst kopieren, da den zugriff den du zum kopieren brauchst dein eigenes programm verhindet!!!
-
wie kann ich den zugriff für das programm bekommen? ich habe mit fopen die datei angelegt aber ich kann sie nicht ausführen. wenn ich das programm test2.exe nenne geht es auch nicht
-
HAAALLLLOOOOO...................
lies dir mal bitte in der MSDN durch, was zu fopen geschrieben steht.nur so viel schonmal vorweg. fopen erstellt dateien mit endungen wie du sie übergibst. (*.ico, *.bmp, *.dll, *.exe) das heist aber noch lange nicht, das die gerade erstellte datei auch das repräsentiert, was die dateiendung verspricht.
und du kannst meines wissens nach keinen zugriff auf dein programm bekommen, wenn es sich selbst kopieren soll.
-
Die letzten 2 Beiträge habe ich nicht geschrieben.
-.-ist vieleicht dein programm, was die test.exe kopieren soll, die test.exe!?
Ja
und du kannst meines wissens nach keinen zugriff auf dein programm bekommen, wenn es sich selbst kopieren soll.
Unter Windows XP kann ich sich ganz einfach mein Programm kopieren.
-
dann registrier dich einfach, dann kann keiner mit deinem Namen unfug treiben...
-
DrakoXP schrieb:
dann registrier dich einfach, dann kann keiner mit deinem Namen unfug treiben...
ach ist jetzt auch egal, hab auf dem Rechner wieder Win98 installiert, damit klappt es.
-
WinVista schrieb:
DrakoXP schrieb:
dann registrier dich einfach, dann kann keiner mit deinem Namen unfug treiben...
ach ist jetzt auch egal, hab auf dem Rechner wieder Win98 installiert, damit klappt es.
Habe ich nicht geschrieben.
Gibts es nicht irgendeine Methode die eigene Datei zu kopieren unter Vista?
-
wenns mit fopen geht, warum nimmst du es dann net einfach?
#include <stdio.h> #include <stdlib.h> void copy_file(const char* input, const char* output) { // Öffnen FILE* pIn = fopen(input, "r"); // Größe ermitteln fseek(pIn, 0, SEEK_END); int size = ftell(pIn); fseek(pIn, 0, SEEK_SET); // Puffer erstellen char *buffer = malloc(size * sizeof(char)); // Daten lesen fread(buffer, 1, size, pIn); // Datei schließen fclose(pIn); // Ausgabe-Datei erstellen FILE* pOut = fopen(output, "w"); // Daten schreiben fwrite(buffer, 1, size, pOut); // Puffer freigeben free(buffer); // Datei schließen fclose(pOut); }mit C++-Filestreams würde das ähnlich laufen...