Numéro d'article: 122787 - Dernière mise à jour: lundi 11 juillet 2005 - Version: 2.4

SAMPLE : FileAsso.exe montre comment utiliser les associations de fichiers

A noterCet article s'applique à un système d'exploitation différent de celui que vous utilisez. Le contenu de l'article qui ne vous concerne peut-être pas est désactivé.

Sommaire

Agrandir tout | Réduire tout

Résumé

Windows fournit des associations de fichiers afin qu'une application puisse s'inscrire le type de documents qu'il prend en charge. Ceci est intéressant, car elle permet à l'utilisateur pour double-cliquez ou sélectionnez un document dans le Gestionnaire de fichiers pour le modifier ou l'imprimer. Association de fichier est également pris en charge par l'API ShellExecute(). Associations de fichiers permettent également l'utilisateur d'ouvrir plusieurs documents avec une seule instance de l'application via le Gestionnaire de fichiers.

ShellExecute() a un avantage encore plus dans Windows 95.

Plus d'informations

Le fichier suivant est disponible pour téléchargement à partir du Centre de téléchargement Microsoft :
FileAsso.exe (http://download.microsoft.com/download/platformsdk/sample19/1/w9xnt4/en-us/fileasso.exe)
Pour plus d'informations sur la façon de télécharger des fichiers du support technique Microsoft, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
119591  (http://support.microsoft.com/kb/119591/EN-US/ ) Comment faire pour obtenir des fichiers de support technique Microsoft auprès des services en ligne
Microsoft a analysé ce fichier en vue de détecter la présence de virus. Microsoft a utilisé les logiciels de détection de virus les plus récents qui était disponible sur la date à laquelle le fichier a été validé. Le fichier est stocké sur des serveurs sécurisés, empêchant toute modification non autorisée du fichier. Les informations suivantes s'applique à l'Ouverture d'un fichier et Fichiers d'impression. Pour faciliter la lecture, cet article explique ouvrir pour expliquer comment fonctionnent les associations de fichiers.

Lorsque l'utilisateur double-clique sur un document, le Gestionnaire de fichiers appelle ShellExecute() avec le nom de fichier. ShellExecute() vérifie la base de données d'enregistrement pour une entrée qui associe cette extension de fichier à une application particulière. Si une entrée existe et ne spécifie pas de commandes DDE, ShellExecute() lance l'application tel que spécifié dans le Registre. Si le Registre Spécifie l'utilisation des commandes DDE, ShellExecute() tente d'établir une conversation DDE avec cette application à l'aide de la rubrique application. Si une application répond aux connexions DDE, ShellExecute() envoie une commande DDE exécuter, comme spécifié dans le Registre. C'est à l'application pour définir les détails sur cette conversation, particulièrement le nom du service et de rubrique pour vous connecter à et le DDE correct exécutent syntaxe de commande à utiliser. Toutefois, si les tentatives pour établir la conversation échouent, ShellExecute() lance l'application spécifiée dans le Registre et tente d'établir la connexion DDE à nouveau.

Une option supplémentaire est disponible lorsque l'application n'est pas en cours d'exécution, ce qui semble appropriée pour les fichiers d'impression. Dans cette option, ShellExecute() envoie une instruction EXECUTE différente, l'application doit ouvrir et imprimer le document. Lorsque l'impression est terminée, il se ferme.

Il y a deux étapes pour une application à ouvrir plusieurs documents par le biais d'instance d'application unique via l'association de fichier. Par exemple, supposons que MonApp est l'application et AssocSupport correspond à la rubrique. La plupart des applications utilisent MyApp comme leur nom de l'application et système que le sujet.
  1. Lorsque l'application démarre, inscrire un serveur DDE avec le nom de l'application et le sujet (par exemple MyApp et AssocSupport). L'application doit également prendre en charge les instructions d'exécution DDE. L'instruction execute peut être n'importe quel format ; au minimum, il devrait être :

    <nom_fichier> <options><action><filename>

    <action>Voici rien spécifiant identification unique de l'action such as ouvrir ou imprimer. <filename>Le <nom_fichier> est le fichier doit être traité. Enfin, <options>peut être toutes les options qui doivent être transmis.

    Une instruction EXECUTE typique suit ce format :

    [<action><filename>(<nomfichier>)]

    Par exemple, Microsoft Word utilise :

    [Open("%1")] L'application doit prendre en charge la fonctionnalité requise pour les instructions exécutées.
  2. Association de fichier peut être effectuée dans Windows NT via le Gestionnaire de fichiers ou regedit.

Utilisation du Gestionnaire de fichiers pour définir des associations de fichiers

Lors de l'association d'un type de fichier à l'aide du Gestionnaire de fichiers, choisissez associer dans le menu fichier. La boîte de dialogue associer présente la liste des associations de fichiers existants. Cette boîte de dialogue permet d'ajouter un nouveau type de fichier (ou une association de fichier), de modifier un type de fichier existant ou de supprimer un type de fichier existant. Le bouton Nouveau Type de fichier permet à l'utilisateur Ajouter une association pour une nouvelle extension de fichier. Voici les étapes :
  1. Ajouter un nom de type de fichier. Par exemple, nommez-la «Microsoft Word 6.0 document. "
  2. Choisissez une action (ouvrir ou imprimer). Par exemple, sélectionnez le DDE utilise case à cocher.
  3. Ajoutez le nom de chemin d'accès et d'application de répertoire. Par exemple, entrez WINWORD que l'application.
  4. Sélectionnez l'option Utilise DDE.
  5. Définir l'application en tant que le nom de serveur DDE.
  6. Définir le sujet en tant que serveur DDE. Par exemple, entrez système comme la rubrique.
  7. Définissez le message DDE <action><filename><nom_fichier> <options>être identique à exécuter l'instruction de votre application. <filename>Toutefois le <nom_fichier> et <options>doit être remplacés par les arguments de ligne de commande sont. Par exemple utiliser :

    Message DDE: [FileOpen("%1")]

À l'aide de Regedit dans Windows NT pour définir des associations de fichiers

Remarque : Regedit est disponible uniquement dans Windows NT, et non dans Windows version 3.1.

L'utilisateur peut également associer des fichiers avec une application à l'aide de regedit. Dans le menu Edition, choisissez Ajouter un type de fichier ou Modifier un type de fichier (pour modifier un type de fichier existant). Une boîte de dialogue similaire à la boîte de dialogue associer le Gestionnaire de fichiers s'affiche. Suivez les mêmes étapes comme indiqué pour le Gestionnaire de fichiers. Dans Windows version 3.1, une fois que vous avez défini un type de fichier par le biais de cette méthode, accédez au Gestionnaire de fichiers associer la boîte de dialogue Joindre le type de fichier à l'extension.

Utilisation d'un programme pour définir des associations de fichiers

Vous pouvez également définir les associations par programme. Ceci est utile lorsque vous configurez votre application sur d'autres ordinateurs. Vous pouvez fournir cette fonctionnalité par l'intermédiaire de votre programme d'installation. La première méthode pour ce faire (la méthode la plus simple) consiste à utiliser regedit pour fusionner les modifications à partir d'un fichier. La syntaxe est :
   regedit <filename>.reg
				
<filename> est un exemple d'un <nomfichier>.reg :
   REGEDIT
   HKEY_CLASSES_ROOT\.riy = FMA000_File_assoc 
   HKEY_CLASSES_ROOT\FMA000_File_assoc = File_assoc 
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\command = fileasso.EXE 
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\ddeexec = [Open(%1)]
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\ddeexec\application
         = Myserver
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\ddeexec\topic = system
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\command = fileasso.EXE
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\ddeexec = [Open(%1)]
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\ddeexec\application 
         = MYServer
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\ddeexec\topic = System
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\ddeexec\ifexec =
   [Test(%1)]
				
Dans le programme, vous pouvez également ajouter clés au Registre à l'aide du Registre API. Le développeur doit ajouter les clés suivantes dans la base de données d'inscription :
   // Your extensions.
   HKEY_CLASSES_ROOT\.riy = FMA000_File_assoc

   //File type name.
   HKEY_CLASSES_ROOT\FMA000_File_assoc = File_assoc

   // Command to execute when application is not running or dde is not
   // present and Open command is issued.
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\command = fileasso.EXE

   // DDE execute statement for Open.
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\ddeexec = [Open(%1)]

   // The server name your application responds to.
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\ddeexec\application =
   Myserver

   // Topic name your application responds to.
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\ddeexec\topic = system

   // Command to execute when application is not running or dde is not
   // present and print command is issued.
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\command = fileasso.EXE

   // DDE execute statement for Print.
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\ddeexec = [Open(%1)]

   // The server name your application responds to.
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\ddeexec\application =
   MYServer

   // Topic name your application responds to.
   HKEY_CLASSES_ROOT\FMA000_File assoc\shell\print\ddeexec\topic = System

   // DDE execute statement for print if the application is not already
   // running. This gives the options for a an application to Run, Print
   // and Exit.
   HKEY_CLASSES_ROOT\FMA000_File assoc\shell\print\ddeexec\ifexec =
   [Test(%1)]
				

Références

Windows SDK Programmers Reference, volume 1, chapitre 7, bibliothèque Shell ou la documentation en ligne.

Fenêtre 3.1 aide du Kit de développement fichier, base de données d'inscription, Shell fonctions des bibliothèques.

Win32 Programmers Reference, volume 2, chapitre 52, Registre et fichiers d'initialisation ou la documentation en ligne.

Fichier d'aide du Kit de développement logiciel (SDK) Win32 du Registre et de l'initialisation

Fichier d'aide le Gestionnaire de fichiers.

REGEDIT.HLP

REGEDT32.HLP

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Platform Software Development Kit-January 2000 Edition
  • Microsoft Windows Software Development Kit 3.1
Mots-clés : 
kbmt kbdownload kbfile kbinfo kbsample KB122787 KbMtfr
Traduction automatiqueTraduction 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: 122787  (http://support.microsoft.com/kb/122787/en-us/ )
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.