Temp dateinen automatisiert löschen
-
bei der ersten Version (sicher nicht die beste) müsstest du den \ escapen, also als \\ schreiben
-
erst mal ein großes DANKESCHÖN an alle die mir echt toll weitergeholfen haben und gleich noch ne frage : welchen #include brauchich für SHGetFolderPath???
-
Schau mal in die MSDN
-
shlobj.h
-
Hab ich doch und ich krieg trotzdem noch 3 fehler
error C2065: 'SHGetFolderPath' : undeclared identifier
error C2065: 'CSIDL_LOCAL_APPDATA' : undeclared identifier
error C2065: 'SHGFP_TYPE_CURRENT' : undeclared identifier#include <shlobj.h> #include <windows.h>
-
andersrum
#include <windows.h> #include <shlobj.h>
-
geht auch nich
-
deine Headers sind veraltet
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
-
anstatt SHGetFolderPath kannst du GetTempPath nehmen, bin erst jetzt drauf gekommen:
char szBuffer[MAX_PATH]; GetTempPath(MAX_PATH,szBuffer); GetLongPathName(szBuffer,szBuffer,MAX_PATH);
-
soich habs jetzt sowie dus mir gesagt hast nur gibts noch ein problen und zwar:
1.es findet mir nur einen temp ordener
2.der tempordnerpfad stimmt nicht ganz#include <windows.h> #include <shlobj.h> #include <iostream.h> VOID main() { char szBuffer[MAX_PATH]; WIN32_FIND_DATA Fdt; HANDLE hFile; GetTempPath(MAX_PATH,szBuffer); GetLongPathName(szBuffer,szBuffer,MAX_PATH); for (int i = lstrlen(szBuffer); i != 0; i--) { if (szBuffer[i] == '\\') { szBuffer[i + 1] = 0; lstrcat(szBuffer,"Temp"); cout<<szBuffer; break; } } SetCurrentDirectory(szBuffer); hFile = FindFirstFile("*.*",&Fdt); if (hFile != INVALID_HANDLE_VALUE) { do { if (Fdt.cFileName[0] != '.' && Fdt.cFileName[1] != '.') DeleteFile(Fdt.cFileName); } while (FindNextFile(hFile,&Fdt)); CloseHandle(hFile); } }
es versucht mir den ordner C:\Dokumente und Einstellungen\UserName\Lokale Einstellungen\Temp\Temp zu löschen
anstatt C:\Dokumente und Einstellungen\UserName\Lokale Einstellungen\Temp
und es findet auch nicht die restlichen temp ordner auf dem rechner
jedochwennich statt lstrcat(szBuffer,"Temp"); es so schreibe lstrcat(szBuffer,""); löscht es mir den inhalt aber findet mir wie gesagt die anderen temp ordner nicht
-
die for Schleife musst du natürlich weglassen wenn du die GetTempPath Funktion benutzt
-
axo man klar .
BIG THX
-
Und für die Unterordner musst du das hanze einfach rekursiv machen und anhand der von FindFirstFile zurückgegebenen Struktur ermitteln, ob es sich um eine Datei, oder um ein Verzeichnis handelt (siehe FAQ)