Partager via


La vie secrète de Windows

Ce qu'est-il donc arrivé à la boîte de dialogue types de fichier ?

Raymond Chen

Revenir dans le temps de Windows 95, il y avait une page dans la feuille de propriétés Options des dossiers appelée types de fichiers répertoriés les types de fichiers enregistrés et leurs verbes associés.Quel jour est devenu ce gars ?

Réponse : Le monde a changé et les informations qu'il n'était pas vraiment précises plus.

N'était en fait, les informations qu'il affiche pas même entièrement précises même au moment qu'il a été écriture.

Les types de fichiers dialogue pris en charge uniquement dites statiques inscriptions ; qui est, les verbes dont l'exécution se compose d'une ligne de commande en cours d'exécution ou l'exécution d'une commande DDE.Dans Windows 3.1, ceux étaient peu près que deux moyens d'enregistrement d'un verbe pour un type de fichier, de sorte que la boîte de dialogue types de fichiers a été au moins en cours pendant un moment resplendissante brève avant de l'espace de noms du shell Windows 95 affichaient et ajouté un tout nouvel ensemble de méthodes pour faire les choses.Par exemple, verbes ajoutés via les gestionnaires de menus contextuels de shell (IContextMenu) n'étaient pas affichés par la boîte de dialogue types de fichiers.Vous pouvez le voir si vous souhaitez pour afficher les verbes disponibles pour le lecteur : La seule chose qui affichaient dans la boîte de dialogue n'a trouvé.Les verbes de format et copier une disquette étaient nulle part considéré fait qu'ils ont été effectués par programme par des objets COM.(En particulier, car ces commandes appliquées uniquement à certains types de disques.)

Maintenant, la boîte de dialogue types de fichiers est dans un peu d'un pickle.Les verbes de menu de contexte ne sont en fait pas stockées de n'importe où ; elles sont générées au moment de l'exécution par code à l'intérieur de l'extension du shell.Il n'existe aucun moyen pour demander une extension de menu contextuel, “ Veuillez proposer moi à une liste de tous les verbes que vous pouvez ajouter à un élément. ” De même, tout d'abord, l'extension de menu de contexte ne savent peut-être pas, soit ; certaines extensions de menu de contexte génèrent verbes basés sur le nom du fichier de sur que l'utilisateur a cliqué.Raccourcis ne sont pas obligés d'une liste spécifique de verbes ou même un motif pour les verbes, qu'ils exposent simplement des verbes qui appartiennent à un autre type de fichier.(Par exemple, lorsque vous cliquez sur un raccourci vers un fichier texte, le menu contextuel affiche le texte fichier verbes.Si le Gestionnaire de menu contextuel contexte devait produire une liste de tous les verbes potentielles, il faudrait répertorier tous les verbes de tous les types de fichiers!)

Même si il y a un moyen d'obtenir la liste complète des verbes associés à un type de fichier, l'interface pour ajouter ou de leur modification serait manifestement unhelpful.Extensions du shell étant des objets COM, l'enregistrement est effectué en associant un GUID avec le type de fichier.Oui, comme prévu utilisateurs allez taper dans 32 chiffres hexadécimaux avec ponctuation assortie pour créer un verbe de menu contextuel.Et qui enregistre simplement le verbe ; ils ont également créer une DLL qui implémente l'interface IContextMenu.Bonne chance écriture de l'aide en ligne pour ce faire.

OK, il était donc peut-être une bonne idée extensions d'espace de noms du shell n'apparaissent pas dans la boîte de dialogue types de fichiers.Mais qu'en est-il de cette chose DDE ?DDE est l'abréviation de Dynamic Data Exchange, mais le nom n'est pas vraiment clarifier quoi que ce soit.Échange dynamique de données est un mécanisme de transfert de données développé dans les jours de Windows 3.0, qui permet à deux programmes d'échanger des données ou d'envoyer des commandes à l'autre.Établissant des conversations DDE dites nécessite un nombre de éléments d'information, la boîte de dialogue types de fichiers décrit en termes énigmatiques comme DDE message, application (qui, malgré ce que son nom l'indique, n'est pas le nom du fichier exécutable à exécuter), application DDE inactive et la rubrique.Aucun de ces termes signifient rien pour un être humain normal ; elles peuvent également ont été appelées Magic 1 à 4 Magic.

DDE est une technologie faite conçue pour les jours de coopérative multitâches, retour lorsque vous n'avez pas à vous inquiéter des applications qui s'est arrêté de traitement des messages, dans la mesure où le fait que votre code était en cours d'exécution signifiait qu'autres traitait des messages.Mais la transition vers Windows 32 bits et préventive multitâches, cette hypothèse n'est plus détenu true.En particulier, une application qui interrompt le traitement des messages empêche diffusions de message de fin, qui est un problème pour DDE, car la première étape dans l'établissement d'une conversation DDE est diffusant un message vous recherchez une fenêtre qui est prête à discuter avec vous.Un programme ne répond pas empêche des documents basés sur DDE ouverture.Pour cette raison, DDE n'est plus une méthode recommandée pour l'enregistrement des verbes du shell.

La paille a endommagé l'arrière de la boîte de dialogue types de fichiers a été l'introduction de contrôle des comptes d'utilisateur (UAC) dans Windows Vista.Enregistrements de type de fichier sont globales, leur modification besoin de privilèges d'administration, qui sont désactivées par défaut.Par conséquent, la boîte de dialogue types de fichiers devra élévation requise dans pour faire son travail.Étant donné que la boîte de dialogue types de fichiers a été déjà connu pour être incomplète et inutilisable par normales des êtres humains et que les applications n'ont généralement un bon travail de l'enregistrement quand même de leurs types de fichiers, le travail supplémentaire pour rendre l'élévation de prise en charge de boîte de dialogue types de fichiers n'a pas sembler peine.La fonctionnalité les types de fichiers utilisé pour fournir de boîte de dialogue est en grande partie dupliquée par le menu Ouvrir avec et la nouvelle associer un type de fichier ou zones d'édition de protocole avec un panneau de commande de programme spécifique, toutes les deux sont beaucoup plus facile à utiliser que la saisie en mots magiques en quatre cryptically nommé.

Mais si vous voulez vraiment créer vos types de fichiers de la façon passé de mode, vous pouvez toujours exécuter RegEdit.J'espère que vous vous souvenez plus comment définir ces mots magiques.

 

Raymond Chen De Web site, Old New Thing, et gérer les identique intitulée livre (Addison-Wesley, 2007) de l'historique de Windows, programmation Win32 et un point d'interrogation à partir de phrases.

 

Contenu associé