Windows confidentiels : Histoire--allé et oublié

La disparition des anciens Conseils et support pour les fichiers de recherche enregistrée au format Windows 95 est quasiment passée inaperçue.

Raymond Chen

Lorsque vous avez utilisé la boîte de dialogue Rechercher des fichiers dans Windows 95, vous aviez le choix de sauver votre recherche dans un fichier pour vous il pouvait délivrer plus tard. L'extension de ces recherches enregistrées était .fnd.

Si vous un double-clic un de ces fichiers, il ouvre la boîte de dialogue Rechercher des fichiers et exécutez votre recherche enregistrée. Vous avez peut-être remarqué que ces fichiers *.fnd a cessé de travailler dans Windows 7. Soutien pour eux aussi est mort, mais d'une manière inhabituelle.

Lorsque quelqu'un flotte l'idée de décrocher de soutien pour un format de fichier, Microsoft mène des recherches approfondies sur combien de personnes est encore à l'aide de ce type de fichier. L'idée est de déterminer la gravité d'un problème il sera pour supprimer le soutien.

De nos jours, le mécanisme de ce processus est plus formalisé. Partie du processus de dépréciation consiste à ajouter des instruments pour Windows afin de déterminer combien de clients utilisent encore quelque format de fichier est sur le couperet. (Pour faire entendre votre voix, participer dans le programme d'amélioration).

Mort d'un fichier

Le décès du format de fichier *.fnd a suivi un parcours atypique, cependant. Vous voyez, nous avons conduit une expérience accidentelle, il y a 10 ans. Windows 2000 a brisé par inadvertance de compatibilité ascendante avec les recherches enregistrées créé sur des versions antérieures de Windows. Le surprenant, c'est que personne ne à l'extérieur de Microsoft même remarqué. Ceci suggère fortement que très peu de clients réellement utilisés les recherches enregistrement. De toute évidence, ce n'est pas la façon dont vous voulez trouver cette information, mais c'est la bonne information à avoir.

Windows Vista introduit un nouveau format de recherche enregistrée. Si vous avez ouvert un ancien fichier *.fnd, il auto-converti ce fichier au nouveau format. Si vous avez enregistré it back out, elle a été enregistrée dans le nouveau format. Une enquête plus poussée a révélé que personne n'a été à l'aide de fichiers *.fnd. Eh bien, presque personne ne.

Vous voyez, il est un programme qui utilise des fichiers de *.fnd. Il les utilise uniquement en un seul endroit, et la façon dont elle utilise les s'appuie sur la voie de l'erreur. Ce programme veut ouvrir la boîte de dialogue Rechercher les fichiers. Ce programme n'est pas appeler la fonction SHFindFiles et passez la valeur NULL pour la pidlSaveFile, bien que. Il utilise ShellExecute pour localiser un fichier spécial *.fnd fourni avec l'application. Il pourrait s'agir d'un fichier de *.fnd créé en ouvrant une fenêtre de recherche vide et en enregistrant, mais c'est trop facile. Au lieu de cela, le programme passe un zéro octet *.fnd fichier à la fonction ShellExecute.

Le gestionnaire de fichiers *.fnd transmet le fichier à SHFindFiles comme deuxième paramètre. C'est une façon détournée de l'appel de SHFindFiles avec le zéro octet *.fnd fichier. La boîte de dialogue Rechercher les fichiers s'ouvre, et il voit, qu'il a été donné à un fichier qui permet de restaurer son état. Il s'avère que, un fichier de byte zéro n'est pas un fichier valide *.fnd. La boîte de dialogue Rechercher les fichiers tente de restaurer son état, mais il ne peut pas.

Le résultat : La boîte de dialogue Rechercher les fichiers apparaît à l'écran dans son état par défaut. Il s'agit d'une façon détournée de faire une chose simple. Intentionnellement transmettant des données non valides et en se fondant sur les détails de la façon de traiter le cas d'erreur est le truc.

Hey, il fonctionne

Dans Windows 7, Microsoft a supprimé le code pour convertir les fichiers de *.fnd de fichiers *.search-ms. Maintenant, tous les fichiers de *.fnd passés à SHFindFiles sont traités comme s'ils sont endommagés et entraînent dans une fenêtre de recherche par défaut.

Si vous avez un répertoire rempli d'anciennes recherches enregistrées de Windows XP ? Vous pouvez convertir ces par chargement dans Windows Vista et puis en les enregistrant régularisez. Les versions enregistrées seront dans le nouveau format de *.search-ms, que vous pouvez ensuite utiliser avec votre fenêtre 7 des machines.

Raymond Chen

Raymond Chen * Web site, The Old New Thing et livre intitulé identique (Addison-Wesley, 2007) traite de l'histoire de Windows, programmation Win32 et les pouvoirs de réparation illusoire de ruban électrique noir.*

 

Contenu associé