BUG: Utilizza la modalità classica di Windows in Windows Explorer Imposta valore non corretto per SelectedItems

Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.

819499
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
Sintomi
Quando si imposta Esplora risorse per visualizzare cartelle nella modalità Windows classico , metodo di interfaccia IShellFolderViewDual SelectedItems restituisce un set non corretto di FolderItems .
Status
Microsoft ha confermato che questo un bug nei prodotti Microsoft elencati all'inizio di questo articolo.
Informazioni

Procedura per riprodurre il problema.

  1. Aprire un editor di testo, ad esempio il blocco note, incollare il codice riportato di seguito in un nuovo file e quindi salvare il file come 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. Al prompt dei comandi di compilare il file eseguendo il comando seguente: cl /EHsc Sample.cpp
  3. Chiudere tutte le finestre Esplora attualmente aperte.
  4. Fare clic con il pulsante destro del mouse sul pulsante Start e quindi fare clic su Esplora per aprire una finestra di Esplora risorse.
  5. Nel menu Strumenti , fare clic su cartella Opzioni
  6. Nella scheda Generale , selezionare l'opzione Usa cartelle di Windows Visualizzazione Web e quindi fare clic su OK .
  7. Selezionare una cartella che contiene molti elementi. Nel riquadro di destra, selezionare alcuni degli elementi in questa cartella.
  8. Al prompt dei comandi di esecuzione dell'eseguibile di Sample.exe (che è generato nel passaggio 2).

    L'output visualizza il risultato della proprietà Count dell'istanza FolderItems restituito dal metodo di interfaccia IShellFolderViewDual SelectedItems .

    Si prevede che l'output il numero di elementi sono selezionati nella cartella in Esplora risorse dal passaggio precedente. Tuttavia, l'output contiene il numero di tutti gli elementi nella cartella che è stato selezionato in Esplora.
  9. Quando Windows Explorer è in modalità di visualizzazione Web , la cartella elementi restituiti da SelectedItems correttamente è impostata sulle istanze di FolderItem sono selezionate.

    Per verificare l'istruzione precedente in Esplora risorse, dal menu Strumenti , fare clic su Opzioni cartella .
  10. Nella scheda Generale , scegliere l'opzione Attiva contenuto Web sul desktop in Visualizzazione Web , quindi OK per chiudere la finestra di dialogo.
  11. Al prompt dei comandi, è necessario eseguire Sample.exe (generato nel passaggio 2).

    L'output visualizza il risultato della proprietà Count dell'istanza FolderItems restituito dal metodo di interfaccia IShellFolderViewDual SelectedItems .

    L'output è, come previsto, il numero di elementi che quelli selezionati nella cartella.
In alternativa, è possibile utilizzare il metodo di FocusedItem dell'interfaccia IShellFolderViewDual per sostituire la funzionalità del metodo SelectedItems non corretta. Il metodo di FocusedItem restituisce l'elemento selezionato nella cartella e limita l'applicazione a una selezione singola cartella in Esplora risorse.
Riferimenti
Per ulteriori informazioni la shell di Guida di programmazione, vedere la seguente documentazione di MSDN:

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 819499 - Ultima revisione: 02/26/2014 21:06:00 - Revisione: 3.4

  • Microsoft Windows 2000
  • kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbshell kbbug KB819499 KbMtit
Feedback