BOGUE: à l'aide en mode classique de Windows dans Windows Explorer renvoie pas de valeur pour SelectedItems

Traductions disponibles Traductions disponibles
Numéro d'article: 819499 - Voir les produits auxquels s'applique cet article
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Agrandir tout | Réduire tout

Sommaire

Symptômes

Lorsque vous définissez l'Explorateur Windows pour afficher dossiers dans le mode Windows classique , la méthode SelectedItems de l'interface IShellFolderViewDual renvoie un ensemble incorrect de FolderItems .

Statut

Microsoft a confirmé qu'il s'agit un bogue dans les produits Microsoft répertoriés au début de cet article.

Plus d'informations

Procédure pour reproduire le comportement

  1. Ouvrez un éditeur de texte tel que le bloc-notes, collez le code suivant dans un nouveau fichier et puis enregistrez le fichier en tant que 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. À partir d'une invite de commandes, compilez le fichier en exécutant la commande suivante: cl /EHsc Sample.cpp
  3. Fermez toutes les fenêtres de l'Explorateur Windows qui sont ouverts.
  4. Cliquez avec le bouton droit sur Démarrer , puis cliquez sur Explorer pour ouvrir une fenêtre de l'Explorateur Windows.
  5. Dans le menu Outils , cliquez sur dossier Options
  6. Sous l'onglet Général , sélectionnez l'option dossiers classiques de Windows utiliser sous Affichage Web , puis cliquez sur OK .
  7. Sélectionnez un dossier qui contient de nombreux éléments. Dans le volet de droite, sélectionnez certains des éléments dans ce dossier.
  8. À une invite de commandes, exécutez l'exécutable Sample.exe (que vous avez générées dans l'étape 2).

    La sortie affiche le résultat de la propriété Count de l'instance FolderItems qui est renvoyé par la méthode SelectedItems de IShellFolderViewDual interface.

    Vous devriez la sortie vers le numéro d'éléments que vous avez sélectionnée dans le dossier dans l'Explorateur Windows à partir de l'étape précédente. Toutefois, la sortie contient le nombre de tous les éléments dans le dossier qui a été sélectionné dans l'Explorateur Windows.
  9. Lorsque l'Explorateur Windows est en mode Web , les éléments de dossier qui sont retournées par SelectedItems est correctement définis pour les instances FolderItem qui sont sélectionnés.

    Pour vérifier l'instruction précédente dans l'Explorateur Windows, dans le menu Outils , cliquez sur options des dossiers .
  10. Sous l'onglet Général , cliquez sur l'option contenu Web activer sur mon Bureau sous Affichage Web , puis cliquez sur OK pour fermer la boîte de dialogue.
  11. À une invite de commandes, exécutez Sample.exe (généré dans l'étape 2).

    La sortie affiche le résultat de la propriété Count de l'instance FolderItems qui est renvoyé par la méthode SelectedItems de IShellFolderViewDual interface.

    La sortie est, comme prévu, le nombre d'éléments vous avez sélectionné dans le dossier.
Sinon, vous pouvez utilisez la méthode FocusedItem de l'interface IShellFolderViewDual pour remplacer la fonctionnalité incorrecte de la méthode SelectedItems . La méthode FocusedItem renvoie l'élément actuellement sélectionné dans le dossier et limite votre application pour une sélection de dossier unique dans l'Explorateur Windows.

Références

Pour plus d'informations sur l'interface de programmation guide, consultez la documentation MSDN suivante :
Shell Guide du programmeur
http://msdn2.microsoft.com/en-us/library/bb776778.aspx

Propriétés

Numéro d'article: 819499 - Dernière mise à jour: lundi 24 février 2014 - Version: 3.4
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Windows 2000
Mots-clés : 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbshell kbbug KB819499 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 819499
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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