Suchfunktion nich auf CD????



  • Aloa,

    Ich wollte die Suchfunktion die ich von der FAQ -> WINAPI
    habe auch auf CDs Anwenden.
    Auf meinen Festplatten (NTFS und FAT32) funktioniert alles einwandfrei,
    aber auf ISO/CD nicht????
    Warum nur???
    Muss ich irgendwass übergeben???

    MFG

    RS



  • Hat denn keiner ne Idee?????????? 😞 😕



  • Woher soll nur einer wissen warum es nicht funktioniert?
    Eine gepostete Fehlerbeschreibung oder ein wenig Code kann da Wunder wirken...

    cu para
    😃



  • Sorry total Vergessen 🙄 .

    Der Code stammnt zum Größten teil aus diesem Forum. Ich weis leider nicht von wem aber trotzdem Danke. 😉
    Er soll je nach angabe von Type entweder alles oder nur exe Dateien suchen.

    void fchrf(const char *szChrStartPath,const char *type)
    {
        char mesg;
        char szPATH[MAX_PATH];
        strcpy(szPATH, szChrStartPath);
        if(szPATH[strlen(szPATH)-1] != '\\')
            strcat(szPATH, "\\");
        strcat(szPATH, "*.*");
        WIN32_FIND_DATA data;
        HANDLE handle = FindFirstFile(szPATH, &data);
        if(handle != INVALID_HANDLE_VALUE)
        {
            do
            {
                if(data.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY && data.cFileName[strlen(data.cFileName)-2] != '.' && data.cFileName[strlen(data.cFileName)-1] != '.')
                {
                    char szMsg[MAX_PATH];
                    sprintf(szMsg, "%s\\%s", szChrStartPath, data.cFileName);
                    strcpy(text,"Ordner: ");
                    strcat(text,data.cFileName);
                    strcat(text," durchsuchen?");
                    mesg = MessageBox(NULL,text,"Durchsuchen?",MB_ICONQUESTION | MB_YESNO);
                    if (mesg == IDYES)
                    {
                    fchrf(szMsg,type);
                    }
                }
    
                else if(data.dwFileAttributes != FILE_ATTRIBUTE_DIRECTORY && data.cFileName[strlen(data.cFileName)-2] != '.' && data.cFileName[strlen(data.cFileName)-1] != '.')
                {
                    if (strncmp(type,".exe",4)==0)
                    {
                    char sub_str[MAX_PATH];
                    int i=(strlen(data.cFileName)-4); // ab zeichen X
                    strcpy(sub_str,&data.cFileName[i]);
                    if (strncmp(sub_str,type,4)==0)
                    {
                    char szMsg[MAX_PATH];
                    sprintf(szMsg, "%s\\%s", szChrStartPath, data.cFileName);
                    SendMessage(hwndFile, LB_ADDSTRING, 0,(LPARAM) szMsg);
                    SendMessage(hwndFile2, LB_ADDSTRING, 0,(LPARAM) data.cFileName);
                    }
                    }
                    if (strncmp(type,"*.*",3)==0)
                    {
                    if(data.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY && data.cFileName[strlen(data.cFileName)-2] != '.' && data.cFileName[strlen(data.cFileName)-1] != '.')
                    {
                    fputs("Directory:   ",list);
                    fputs(data.cFileName,list);
                    fputs("\n",list);
                    }
                    if(data.dwFileAttributes != FILE_ATTRIBUTE_DIRECTORY && data.cFileName[strlen(data.cFileName)-2] != '.' && data.cFileName[strlen(data.cFileName)-1] != '.')
                    {
                    char szMsg[MAX_PATH];
                    sprintf(szMsg, "%s\\%s", szChrStartPath, data.cFileName);
                    SendMessage(hwndFile, LB_ADDSTRING, 0,(LPARAM) szMsg);
                    fputs("File:    ",list);
                    fputs(data.cFileName,list);
                    fputs("\n",list);
                    fputs("Path:    ",list);
                    fputs(szMsg,list);
                    fputs("\n",list);
                    }
                    }
                }
            }
            while(FindNextFile(handle, &data) != 0);
    
        }
        FindClose(handle);
    }
    

    Danke RS



  • 😞 😞 😞 😞 😞 😞



  • Hi,

    wollte gerade deine Funktion bei mir austesten, aber das war ja natürlich wieder nicht möglich, da sie auf irgendwelche globale Sachen zugreift. 😃

    Hab meinen Code aber nochmal beim CD-Rom Laufwerk ausprobiert. Es hat geklappt:

    Verzeichnisse rekursiv durchsuchen



  • Danke werde ich mal ausprobieren.
    Ich denke das meine Methode nicht rekursiv durchsucht.

    THX

    RS


Anmelden zum Antworten