none
Pourquoi la miniature "Grandes Icones" apparait parfois noire dans Windows Explorer sous W7 RRS feed

  • Discussion générale

  • Bonjour,

    je génère un format d'image propriétaire. Je veux afficher des miniatures dans l'explorateur. Je suis sous Windows 7 en 64 bits. Je tente de porter une DLL qui fonctionnait sous XP.

    J'ai développé la DLL qui exporte IInitializeWithStream::Initialize et  IThumbnailProvider::GetThumbnail et retourne un HBITMAP. Cela fonctionne très bien et la DLL est appelée pour cx = 1024, cx = 256, cx = 480 and cx = 96 par le système. (J'enregistre les Bitmaps dans un répertoire de debug et j'ai un fichier de log, donc je sais que la DLL genère les bonnes bitmap).

    Cependant, dans certains cas, les miniatures apparaissent totalement noires dans l'explorateur (mais à la bonne taille), et dans ce cas, la DLL n'a pas été appelée.. Par exemple, si je quitte le répertoire dans lequel les miniatures sont bien affichées la première fois, puis j'y retourne, elles apparaissent définitivement noires dans certaines tailles seulement (le panneau visionneuse est toujours ok).

    - Que fait Windows avec les handle de bitmap que je lui envoie?

    - Quand utilise t'il le cache et quand rappelle t'il la DLL?

    - Est ce une configuration de windows , un paramétrage, et si oui lequel?

    - Est ce que j'ai râté quelquechose dans le code (j'ai suivi l'aide MSDN pour l'écrire)?

    Merci pour votre aide

    Céline

    • Modifié cejuli lundi 7 mars 2016 16:02
    • Type modifié Emile Supiot jeudi 7 avril 2016 11:02
    lundi 7 mars 2016 14:36

Toutes les réponses

  • Bonjour, cejuli,

    Veuillez poster votre demande en langue française.
    Je vous remercie par avance de votre compréhension.

    Cordialement,
    Teodora


    Votez! Appel à la contribution TechNet Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    lundi 7 mars 2016 15:44
    Modérateur
  • Ouais, en français, mais je ne suis pas sûr qu'on pourra plus t'aider que les anglophones.

    Donc postez sur le forum anglophone. Et si vous avez la réponse par les rosbeefs, pensez à nous la transmettre. ;-)

    Courage ;-)


    Paul Bacelar, Ex - MVP VC++

    lundi 7 mars 2016 16:05
    Modérateur