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:
-
Danke werde ich mal ausprobieren.
Ich denke das meine Methode nicht rekursiv durchsucht.THX
RS