tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
9
ZUGRIFFE
363
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von MSVCplusplus
    MSVCplusplus MSVCplusplus ist offline Mitglied Brokat
    Registriert seit
    Dec 2010
    Ort
    Hessen
    Beiträge
    336
    Hallo
    Ich Lösche einen Ordner mit SHFileOperation. Klappt auch
    Nun meine Frage wenn ich jetzt im Ordner bin der Gelöscht werden soll und dann den Ordner Lösche, mich aber noch drinne befinde, wird er nicht gelöscht! Geht das auch irgendwie dass er gelöscht wird?
    Danke
     
    Fehlermeldung bitte!
    Google - Dein Freund und Helfer

  2. #2
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Was ist genau im Ordner drin?
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  3. #3
    Avatar von MSVCplusplus
    MSVCplusplus MSVCplusplus ist offline Mitglied Brokat
    Registriert seit
    Dec 2010
    Ort
    Hessen
    Beiträge
    336
    Im Explorer geöffnet ( GUI )
     
    Fehlermeldung bitte!
    Google - Dein Freund und Helfer

  4. #4
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Wenn Dateien (Verzeichnisse) noch geöffnet sind, können sie nicht gelöscht werden.

    Du könntest die MoveFileEx Funktion verwenden um die Datei(en) beim nächsten Reboot zu löschen.

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  5. #5
    Avatar von MSVCplusplus
    MSVCplusplus MSVCplusplus ist offline Mitglied Brokat
    Registriert seit
    Dec 2010
    Ort
    Hessen
    Beiträge
    336
    Ok danke hat geklappt allerdings noch eine Frage:
    Mit Folgendem Code setzte ich einen Pfad zusammen:
    Code cpp:
    1
    2
    3
    4
    
    string sDelUnMusic;
        sDelUnMusic = m_sIbo;
        sDelUnMusic += "\\Unpacked";
        LPCSTR DelPath = sDelUnMusic.c_str();
    In m_sIbo steht "C:\\Users\\MYNAME\\Documents\\Test"
    Wenn ich nun Den ordner Unpacked löschen will mit Folgendem Code:
    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    SHFILEOPSTRUCT sh;  
        sh.hwnd = NULL;  
        sh.fFlags = FOF_NOCONFIRMATION | FOF_SILENT;
        sh.wFunc = FO_DELETE;                
        sh.pFrom = DelPath ;
        sh.pTo = NULL;
        sh.hNameMappings = NULL;
        sh.lpszProgressTitle = NULL; 
        SHFileOperation (&sh);
    Passiert nichts der Ordner ist noch da. Aber wenn ich satt DelPath einfach "HierderPfad" hinschreibe ( hier der Pfad ist der Komplette Pfad war zu Fual den jetzt zu schreiben) Dann wird der Ordner gelöscht!
    Warum?
    Danke
     
    Fehlermeldung bitte!
    Google - Dein Freund und Helfer

  6. #6
    Avatar von MSVCplusplus
    MSVCplusplus MSVCplusplus ist offline Mitglied Brokat
    Registriert seit
    Dec 2010
    Ort
    Hessen
    Beiträge
    336
    Keiner ne Idee****
    Ich habe auch keine
     
    Fehlermeldung bitte!
    Google - Dein Freund und Helfer

  7. #7
    cwriter cwriter ist offline Mitglied Gold
    Registriert seit
    Mar 2010
    Beiträge
    242
    Versuch's mal so:
    Code cpp:
    1
    2
    
    LPCSTR DelPath;
    strcpy(DelPath,sDelUnMusic.c_str());
    und setz mal breakpoints und überprüfe den Pfad.

    Gruss
    cwriter
     
    Intel inside - Idiot outside :-)

    Ich schreibe in C und bin Anfänger.
    ______________________________

    Falls ich eines Tages einen guten Beitrag schreiben werde, bitte bewerten und/oder Danke sagen.
    Danke

  8. #8
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Hallo MSVCplusplus,

    in der MSDN steht bei der Beschreibung zu 'pFrom' und 'pTo':
    This string must be double-null terminated.
    Du musst also an das Ende des Strings noch zwei Nullzeichen basteln, vielleicht so:
    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    string sDelUnMusic;
    sDelUnMusic = m_sIbo;
    sDelUnMusic += "\\Unpacked";
     
    char* buffer = new char[sDelUnMusic.size() + 2];
    strcpy(buffer, sDelUnMusic.c_str());
    memset(buffer + sDelUnMusic.size(), 0, 2);
     
    SHFILEOPSTRUCT sh;  
    sh.hwnd = NULL;  
    sh.fFlags = FOF_NOCONFIRMATION | FOF_SILENT;
    sh.wFunc = FO_DELETE;                
    sh.pFrom = buffer ;
    sh.pTo = NULL;
    sh.hNameMappings = NULL;
    sh.lpszProgressTitle = NULL; 
    SHFileOperation (&sh);
     
    delete [] buffer;
    Gruß
    MCoder
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

  9. #9
    Avatar von MSVCplusplus
    MSVCplusplus MSVCplusplus ist offline Mitglied Brokat
    Registriert seit
    Dec 2010
    Ort
    Hessen
    Beiträge
    336
    Danke für die Hilfe ich werde es morgen mal testen weil ich den Rechner leider immoment nicht zur verfügung habe bin am anderen Rechner sry.
    MfG
     
    Fehlermeldung bitte!
    Google - Dein Freund und Helfer

  10. #10
    Avatar von MSVCplusplus
    MSVCplusplus MSVCplusplus ist offline Mitglied Brokat
    Registriert seit
    Dec 2010
    Ort
    Hessen
    Beiträge
    336
    Super hat geklappt Danke
     
    Fehlermeldung bitte!
    Google - Dein Freund und Helfer

Ähnliche Themen

  1. Wie weise ich nach: Browser Problem oder Code Problem?
    Von Steb im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 10.03.11, 20:09
  2. Antworten: 0
    Letzter Beitrag: 11.01.11, 21:40
  3. Antworten: 4
    Letzter Beitrag: 22.03.06, 20:50
  4. PROBLEM! Pinnacle 2 GB Begrenzung Windows 2000 DC 50 PROBLEM!
    Von hennym im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 6
    Letzter Beitrag: 17.09.03, 22:09
  5. Antworten: 6
    Letzter Beitrag: 13.06.02, 12:29