Zdravím a obracím se na Vás s prosbou o radu. Vyhledávám skupiny souborů podle přípon na siťovém disku, plním listview včetně data vytvoření, změny a velikosti do subitems. Používám metodu GetFiles s volbou prohledávat i podadresáře, přípony jsou v poli, v cyklu procházím pole a opakovaně spouštím GetFiles do vyčerpání přípon v poli, jedná se maximálně o pět přípon či chcete-li typů souborů. Výsledky hledání nakonec seřadím dle potřeby přímo v listview. Problém spočívá v tom, že je to neskutečně pomalé, obdobná úloha zadaná TotalComandru zabere mnohem méně času. Možná by bylo rychlejší plnit List a místo listview zvolit třeba datagridview, předat mu List do DataSource? Ale u listview není nutné řešit zobrazení ikon a textu v jednom sloupci nějakým vlastním sloupcem a seřazení podle sloupce je také rychlejší než u datagridview. Mé pokusy s Win32 API FindFirstFile, FindNextFile ve vb.Net dosahují lepší výsledky, ale jak je to budoucí s migrací na 64bit, bude to výhledově vůbec fungovat? Další možností je možná WMI a předávání WQL dotazů, ale moc nevěřím, že to bude rychlejší, přesto se chci zeptat na vaše zkušenosti a poprosit o nějaké doporučení zrychlení hledání. Nelze urychlit GetFiles v kombinaci s backgroundworkerem ? Doufám, že budu mít stěstí na někoho ochotného se podělit o cenné zkušenosti mezi zdejšími protřelými professionály.
|