Použití dialogového okna Kopírovat z Exploreru |
![]() |
Volání API není zase tak snadné, jak vypadá: API funkce očekává, že v UDT budou bytově zarovnané hodnoty, ale VB zarovnává UDT v mezích double byte. Tudíž, musíme maličko zapracovat, aby vše pracovalo korektně: Public Function SHFileOP(ByRef
lpFileOp As SHFileOpStruct) As Long Zavoláme-li tuto funkci, tak ta nejprve odstraní náš problém, a teprve potom provede volání API. Jak pracuje struktura SHFILEOPSTRUCT: hwnd: ukazatel na okno vlastníka dialogu. Lze ji nastavit na hWnd okna, které volá funkci, nebo na 0, která říká, že vlastníkem je Desktop. wFunc: pFrom: řetězec, obsahující jména zdrojových souborů a adresářů. Jednotlivé položky jsou oddělené znakem Null (vbNullChar) a je ukončen dvěma znaky Null. Je důležité si toto zapamatovat. pTo: řetězec, obsahující jméno cílového souboru nebo adresáře. Pokud jsou v pFrom specifikovány pouze soubory, lze do pTo zadat specifická jména, oddělená znakem Null a zakončená dvojitým Null. fFlags: příznaky, které kontrolují operaci. Zde mohou být uloženy kombinace následujících příznaků, zkombinované pomocí operátoru Or: - FOF_ALLOWUNDO -
Nastaví Undo informaci, pokud je možná. Následující parametry se aplikují pouze v prostředí Internet Explorer 5: - FOF_NO_CONNECTED_ELEMENTS
- Nepracuje na připojených elementech fAnyOperationsAborted: obsahuje 0, pokud operace nebyla přerušena, jinak nenulové číslo. hNameMappings: ukazatel na mapovací objekt, který obsahuje pole struktur SHNAMEMAPPING. Každá struktura obsahuje nové a staré jména souborů pro všechny soubory, na nichž byla provedena operace. Používá se pouze v případě, že do fFlags byl zahrnut parametr FOF_WANTMAPPINGHANDLE. lpszProgressTitle - řetězec, specifikující titulek ukazatele průběhu. Je použit pouze tehdy, obsahuje-li fFlags parametr FOF_SIMPLEPROGRESS. |
![]() |
Autor: The Bozena |