tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
364
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Opscript Opscript ist offline Mitglied
    Registriert seit
    Apr 2006
    Beiträge
    15
    Hallo,

    habe mir eine WINAPI Anwendung geschrieben, die Ordner und Dateien von CD auf ein wählbares beschreibbares
    Laufwerk kopiert. Arbeite hier mit der Funktion CopyFileEx. Die Software arbeitet auch ohne Probleme.
    Zur Kontrolle lasse ich mir das Ergebnis welche Datei gerade kopiert wird u.s.w. , anzeigen.
    Verschiebe ich nun das Fenster an eine andere Stelle, wird weiter kopiert aber die Anzeige der Daten
    in den Editboxen bleibt stehen.

    Suche jetzt schon seit ein paar Tagen ohne Erfolg nach einer Lösung.
    Kann mir jemand einen Tipp geben, wie das zu ändern ist?

    Arbeite mit Dev-C++.


    Hier ein Auszug wo die Kopierfunktion gestartet wird:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    
    case WM_COMMAND:
    {
              
        if(lParam==(LPARAM)hButtonExit && HIWORD(wParam)==BN_CLICKED) // Button beenden
        {   
            SendMessage(hwnd,WM_CLOSE,0,0);
        }
                
        if(lParam==(LPARAM)hButtonDna && HIWORD(wParam)==BN_CLICKED) // Button starten
        {
            char szTextTo[256];                  
     
            // Text aus der Editbox holen
            GetWindowText (hwndTo, szTextTo, 256);
            GetWindowText (hwndZiel, szTextTo, 256);
            // Diesen Text in das Label schreiben und
            // den Text der Editbox löschen
            SetWindowText (hwndZiel, szTextTo);
            SetWindowText (hwndTo, szTextTo);
                   
            char lwBuchstabe[1];
            lwBuchstabe[0] = szTextTo[0];
                   
            if(laufwerke(lwBuchstabe)!=true)
            {
                MessageBox(hwnd, "Das angegebene Laufwerk ist nicht vorhanden!\n"
                           "oder eine CD-ROM! Bitte korrigieren Sie Ihre Eingabe.",
                           "",MB_OK | MB_ICONERROR);     
            }
            else
            {
                int gesamt;
                gesamt = rekursivDirFileSize(lauferkFrom);//Gesamtgröße in Byte ermitteln
                                                          //Übergabe an die rekursive Funktion
                                                          //kopieren!
                
                         kopieren(hwndPB,// Daten an InitCommonControls() senden
                         hwndTextDatei, // Daten zum Anzeigen der bereits kopierten Dateien.
                         hwndDateiGroesse,// Daten zum Anzeigen der Dateigröße.
                         hwndDateiAnzahl, // Anzahl der bereits kopierten Dateien
                         lauferkFrom, // Startlaufwerk
                         szTextTo,// Ziellaufwerk
                         gesamt); //Rekursive Funktion zum kopiren und ausgeben der Daten
                                        
                char ergebnis[256];
                strcpy(ergebnis,"Kopieren nach "); 
                strcat(ergebnis,szTextTo);
                strcat(ergebnis," erfolgreich beendet");
                      
                MessageBox(hwnd, ergebnis,"", MB_OK);
                      
                DestroyWindow(hwnd);
                      
              }
        }
        return 0;
    }
    Geändert von Opscript (22.10.06 um 10:10 Uhr)
     

  2. #2
    Avatar von Endurion
    Endurion Endurion ist offline Mitglied Diamant
    Registriert seit
    Apr 2004
    Beiträge
    2.151
    Du blockierst die Nachrichtenverarbeitung des Fensters beim Kopieren. Deshalb werden die neuen Texte nicht angezeigt.

    Wenn du innerhalb der Kopierfunktion die Text-Anzeigen änderst, dann rufe danach UpdateWindow mit dem jeweiligen HWND auf. Das sollte die Anzeigen anpassen.
     

  3. #3
    Opscript Opscript ist offline Mitglied
    Registriert seit
    Apr 2006
    Beiträge
    15
     

Ähnliche Themen

  1. CSS blockiert Accordion?
    Von nordi im Forum Javascript & Ajax
    Antworten: 7
    Letzter Beitrag: 05.11.10, 17:48
  2. System.Timer -- blockiert Anwendung
    Von freakbrother im Forum .NET Application und Service Design
    Antworten: 3
    Letzter Beitrag: 24.11.09, 12:26
  3. SocketInputStream blockiert
    Von jb007 im Forum Java
    Antworten: 4
    Letzter Beitrag: 11.05.07, 23:20
  4. ASSP blockiert RAM
    Von GalaxyWarrior im Forum Linux & Unix
    Antworten: 1
    Letzter Beitrag: 05.01.07, 16:26
  5. Router blockiert?!
    Von Nospherates im Forum Netzwerke
    Antworten: 2
    Letzter Beitrag: 13.11.05, 19:38