Verlauf leeren von C++ Funktion aus?



  • Hi Leute

    Kann mir jemand sagen, wie ich in den Verlauf des IE
    von einer C++ Funktion aus loeschen kann?

    mfg Rudi Main und thx im voraus



  • Ich verschiebe dich dazu am besten ins WinAPI-Forum, denn ohne die WinAPI wirst du das kaum bewerkstelligen können.

    MfG SideWinder



  • Hallo.
    Das Verzeichnis für den Verlauf des angemeldeten Benutzers bekommst Du über die Shellfunktion SHGetFolderPath. Anschließend kannst Du alle Dateien und Unterverzeichnisse in dem Verzeichnis mit DelFiles() löschen.

    ....
    John

    #include <windows.h>
    #include <shfolder.h>
    
    int DelFiles(LPTSTR szDir)
    {
       WIN32_FIND_DATA   fd;
       HANDLE            hff;
       int               nFiles = 0;
       TCHAR             szFilename[MAX_PATH];
       wsprintf(szFilename, TEXT("%s\\*.*"), szDir);
       hff = FindFirstFile(szFilename, &fd);
       if (hff == INVALID_HANDLE_VALUE)
          return -1;
       do {
          wsprintf(szFilename, TEXT("%s\\%s"), szDir, fd.cFileName);
          if ((fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
             if ((strcmp(fd.cFileName, ".") != 0) && (strcmp(fd.cFileName, "..") != 0)) {
                nFiles += DelFiles(szFilename);
            RemoveDirectory(szFilename);
             }
        }
        else {
             DeleteFile(szFilename);
             nFiles++;
          }
       } while (FindNextFile(hff, &fd));
    
       FindClose(hff);
       return nFiles;
    }
    
    int main(void)
    {
       TCHAR szFolderPath[MAX_PATH];
    
       SHGetFolderPath(NULL, CSIDL_HISTORY, NULL, 0, szFolderPath);
       DelFiles(szFolderPath);
    
       return 0;
    }
    

    [edit]
    Rekursion, da Verlauf in Unterverzeichnissen gespeichert wird
    [/edit] 🙂

    [ Dieser Beitrag wurde am 25.12.2002 um 17:56 Uhr von John editiert. ]



  • Jetzt hab ich eigentlich kein Problem mehr. Wollte mich trotzdem mal kurz zu Wort melden. Ich find Euer Forum und die FAQ einfach klasse.
    Ich musste gerade die shGetFolderPath() benutzen. Und in der MSDN steht ja eindeutig, dass die Headerdatei dafür shlobj.h wäre. Gesagt, getan: Also den Header eingebunden und ausprobiert. Da sagt mir VC doch glatt, er könne die Funktion nicht finden. Ich schau in die Headerdatei rein, aber die ist eindeutig da. Ich war schon fast am verzweifeln, da fiel mir Euer Forum hier ein. Und was sehe ich? Ich muss shfolder.h inkludieren. Wie soll man denn darauf kommen? Und warum findet VC die Funktion nicht, wenn sie doch in der Headerdatei von shlobj.h drin ist?
    Egal ich habs ja dank Euch geschafft.
    Danke nochmal
    Pit



  • Hö? Das Prob hatte ich neulich auch. Das mit shfolder wusste ich ebenfalls nicht, und so musste ich SHGetSpecialFolderPath benutzen. Aber gut zu wissen... 🙂


Anmelden zum Antworten