Chyba: Používání režimu Klasické nastavení systému Windows v systému Windows Explorer vrací nesprávná hodnota pro SelectedItems

Překlady článku Překlady článku
ID článku: 819499 - Produkty, které se vztahují k tomuto článku.
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Nastavíte-li v režimu Klasické zobrazení složek Průzkumníka Windows, metoda SelectedItems rozhraní IShellFolderViewDual vrátí nesprávný množinou FolderItems.

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny na začátku tohoto článku.

Další informace

Kroky pro reprodukci tohoto chování

  1. Otevřete textového editoru, jako je například program Poznámkový blok, zkopírujte následující kód do nového souboru a potom uložíte soubor jako Sample.cpp:
    #include <Windows.h>
    #include <TChar.h>
    #import <SHDocVw.dll>
    #import <Shell32.dll>
    #include <iostream>
    using namespace std;
    
    int _tmain(int argc, TCHAR ** argv)
    {
        CoInitialize(0);
        try
        {    
            SHDocVw::IShellWindowsPtr sw(__uuidof(SHDocVw::ShellWindows));
            for (long i = 0; i < sw->Count; ++i)
            {
                if (SHDocVw::IWebBrowser2Ptr ie = sw->Item(i))
                {
                    cout << _com_util::ConvertBSTRToString(ie->LocationURL) << endl;
                    if (Shell32::IShellFolderViewDualPtr view = ie->Document)
                    {
                       cout << view->SelectedItems()->Count << _T(" selected item(s)") << endl;
                    }
                }
            }
        }
        catch (_com_error const & e)
        {
            cout << e.ErrorMessage() << endl;
        }
        CoUninitialize();
        return 0;
    }
  2. Zkompilujte soubor spuštěním následujícího příkazu na příkazovém řádku: cl /EHsc Sample.cpp
  3. Zavřete všechna okna Průzkumníka Windows, které jsou právě otevřené.
  4. Klepněte pravým tlačítkem myši Start a potom klepněte na příkaz Prozkoumat otevřete okno Průzkumníka Windows.
  5. V nabídce Nástroje klepněte na příkaz složku možnosti
  6. Na kartě Obecné vyberte možnost používat klasické složky systému Windows v části Webové zobrazení a potom klepněte na tlačítko OK.
  7. Vyberte složku, která obsahuje mnoho položek. V podokně vpravo vyberte některé z položek v této složce.
  8. Na příkazovém řádku spustit spustitelný soubor Sample.exe (vytvořených v kroku 2).

    Výstup se zobrazí výsledek Vlastnosti instance FolderItems je vrácený metodou SelectedItems rozhraní IShellFolderViewDual.

    Očekáváte-výstup bude počet položek, které jste vybrali ve složce v programu Průzkumník Windows z dřívějších kroku. Však výstup obsahuje počet všechny položky ve složce, která byla vybrána v programu Průzkumník Windows.
  9. Při Průzkumník je v režimu webové zobrazení, složka položky, které jsou vrácené SelectedItems je správně nastaven na FolderItem instance, které jsou vybrány.

    Chcete-li ověřit předchozího příkazu v programu Průzkumník Windows v nabídce Nástroje klepněte na příkaz Možnosti složky.
  10. Na kartě Obecné klepněte na možnost Povolit webového obsahu na plochu v části Webové zobrazení a klepnutím na tlačítko OK zavřete dialogové okno.
  11. Na příkazovém řádku spusťte Sample.exe (generovaný v kroku 2).

    Výstup se zobrazí výsledek Vlastnosti instance FolderItems je vrácený metodou SelectedItems rozhraní IShellFolderViewDual.

    Výstup je podle očekávání, počet položek, které měl vybraný ve složce.
Metodě rozhraní IShellFolderViewDualFocusedItem můžete případně nahradit nesprávné funkce metody SelectedItems. Metoda FocusedItem vrátí vybrané položky ve složce a omezí aplikace k výběru jedné složky v Průzkumníku Windows.

Odkazy

Další informace o programování vodítko prostředí naleznete v následující dokumentaci MSDN:
Prostředí Programmer's Guide
http://msdn2.microsoft.com/en-us/library/bb776778.aspx

Vlastnosti

ID článku: 819499 - Poslední aktualizace: 28. února 2014 - Revize: 3.4
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Windows 2000
Klíčová slova: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbshell kbbug KB819499 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:819499

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com