begin process at 2012 02 16 11:27:49
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Shell

 > ASSOCIATION D'UNE EXTENSION A UNE APPLICATION (EX: *.DOC = MS WORD)

ASSOCIATION D'UNE EXTENSION A UNE APPLICATION (EX: *.DOC = MS WORD)


 Information sur la source

Note :
7,71 / 10 - par 21 personnes
7,71 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Shell Classé sous :associer, association, extension Niveau :Débutant Date de création :16/09/2000 Vu :11 470

Auteur : jray

Ecrire un message privé
Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

 Description

Faire les déclaration suivantes dans un MODULE:

Const HKEY_CLASSES_ROOT = &H80000000
Const HKEY_LOCAL_MACHINE = &H80000002

Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hkey&, ByVal lpszSubKey$, lphKey&) As Long
Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hkey&, ByVal lpszSubKey$, ByVal fdwType&, ByVal lpszValue$, ByVal dwLength&) As Long

Public Const MAX_PATH = 256&
Public Const REG_SZ = 1

Source

  • Sub CréationAssociation()
  • Dim NomClef As String
  • Dim ValeurClef As String
  • Dim RetVal As Long
  • Dim ClefHandle As Long
  • NomClef = "Software" & NomLogiciel ' ATTENTION: il y a un "backslash" entre "Software" et Nomlogiciel (inverse de "/", mais ça ne s'affiche pas sur ce site !?)
  • ValeurClef = CheminEXE
  • RetVal = RegCreateKey(HKEY_LOCAL_MACHINE, NomClef, ClefHandle)
  • RetVal = RegSetValue(ClefHandle, "", REG_SZ, ValeurClef, 0&)
  • NomClef = NomLogiciel
  • ValeurClef = TypeFichier
  • RetVal = RegCreateKey(HKEY_CLASSES_ROOT, NomClef, ClefHandle)
  • RetVal = RegSetValue(ClefHandle, "", REG_SZ, ValeurClef, 0&)
  • NomClef = Extension
  • ValeurClef = NomLogiciel
  • RetVal = RegCreateKey(HKEY_CLASSES_ROOT, NomClef, ClefHandle)
  • RetVal = RegSetValue(ClefHandle, "", REG_SZ, ValeurClef, 0&)
  • NomClef = NomLogiciel
  • ValeurClef = CheminEXE & " ""%1"""
  • RetVal = RegCreateKey(HKEY_CLASSES_ROOT, NomClef, ClefHandle)
  • RetVal = RegSetValue(ClefHandle, "shellopencommand", REG_SZ, ValeurClef, MAX_PATH)
  • ValeurClef = CheminIcône & ",0"
  • RetVal = RegSetValue(ClefHandle, "DefaultIcon", REG_SZ, ValeurClef, MAX_PATH)
  • End Sub
Sub CréationAssociation()
    Dim NomClef As String
    Dim ValeurClef As String
    Dim RetVal As Long
    Dim ClefHandle As Long
    
    NomClef = "Software" & NomLogiciel ' ATTENTION: il y a un "backslash" entre "Software" et Nomlogiciel (inverse de "/", mais ça ne s'affiche pas sur ce site !?)
    ValeurClef = CheminEXE
    RetVal = RegCreateKey(HKEY_LOCAL_MACHINE, NomClef, ClefHandle)
    RetVal = RegSetValue(ClefHandle, "", REG_SZ, ValeurClef, 0&)
    
    NomClef = NomLogiciel
    ValeurClef = TypeFichier
    RetVal = RegCreateKey(HKEY_CLASSES_ROOT, NomClef, ClefHandle)
    RetVal = RegSetValue(ClefHandle, "", REG_SZ, ValeurClef, 0&)
    
    NomClef = Extension
    ValeurClef = NomLogiciel
    RetVal = RegCreateKey(HKEY_CLASSES_ROOT, NomClef, ClefHandle)
    RetVal = RegSetValue(ClefHandle, "", REG_SZ, ValeurClef, 0&)
    
    NomClef = NomLogiciel
    ValeurClef = CheminEXE & " ""%1"""
    RetVal = RegCreateKey(HKEY_CLASSES_ROOT, NomClef, ClefHandle)
    RetVal = RegSetValue(ClefHandle, "shellopencommand", REG_SZ, ValeurClef, MAX_PATH)
    ValeurClef = CheminIcône & ",0"
    RetVal = RegSetValue(ClefHandle, "DefaultIcon", REG_SZ, ValeurClef, MAX_PATH)

End Sub 

 Conclusion

Les Variables à définir soi-même sont:

NomLogiciel: Exemple: "Mon logiciel"
CheminEXE: Exemple: "C:MonLogiciel.exe"
TypeFichier: Exemple: "Document Mon Logiciel"
Extension: Exemple: ".log"
CheminIcône: Exemple: "C:MonLogiciel.ico"

Et voilà ! Exécutez la fonction lors du (premier) lancement de votre application et le tour est joué.

Deux trucs:
- pour obtenir le chemin de l'exe, si vous distribuez vos applications, utilisez  la propriété "App.Path"
- pour connaître le chemin du fichier qui a ouvert votre application (double-clic sur un fichier don l'extension est celle définie ci-dessus), utilisez la variable système "Command()" (CheminFichier = Command()".


 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) GPS - RÉCUPÉRATION POSITION ACTUELLE, FICHIER TRACE, EXPORT ...
Source avec Zip VÉRIFICATEUR D'ORTHOGRAPHE
Source avec Zip CALCULS MATRICIELS (RAPIDE, MATRICES N * N)
PROGRAMME AUTONOME SUR SUPPORT (PAR EX. CD)
Source avec Zip CRÉATION ET UTILISATION D'UNE DLL ACTIVEX VB

 Sources de la même categorie

Source avec Zip CHOIX DE COULEUR SOUS XP EN MODE CONSOLE par ccgousset
Source avec Zip Source .NET (Dotnet) ENVOYEUR DE MAIL EN BATCH/DOS par Ant95
Source avec Zip Source avec une capture LANCEUR REALVNC par Nobru59
Source avec Zip Source .NET (Dotnet) XGBLENDERCOMPRESSOR par XelectroX
Source avec Zip Source .NET (Dotnet) CONTRÔLER L'AUTORUN DE WINDOWS XP (ET SUPÉRIEUR) ET LES NOTI... par ShareVB

 Sources en rapport avec celle ci

Source avec Zip GEST COTISATION - ASSOCIATION par MOHA555
Source avec Zip Source .NET (Dotnet) MODIFIER LES EXTENSION DES FICHIERS par okosa
Source .NET (Dotnet) REGISTRE - ASSOCIER UNE ACTION AU CLIC DROIT DE LA SOURIS par pascal16m
Source avec Zip Source avec une capture ASSOCIER PAR UN TRAIT LES ÉLÉMENTS CORRESPONDANTS DE DEUX LI... par oulipan
Source avec Zip Source avec une capture Source .NET (Dotnet) EDITEUR DE FICHIERS ENCRYPTER ET ACCÈS PROTÉGÉ par DanMor498

Commentaires et avis

Commentaire de devmax le 09/04/2002 22:32:15

bravo
rien dotre a dire tellement c bien

Commentaire de RollieTyler le 04/05/2002 23:13:44

Salut,
bon alors terrible ton code j'en ai besoin en plus c tres cool.
Par contre g un probleme, mon association ne se creer pas correctement.
je n'ai pas de msg d'erreur mais lorsque je verifie l'association dans l'explorateur windows, elle est incomplete, g juste l'icone, le note du logiciel et le nom du type de fichier mais j'ai pas le "ouvrir avec" si tu vois ce que je veux dire?
tiens voila mon code dit moi si g fais une connerie:
Sub CréationAssociation()
    Dim NomClef As String
    Dim ValeurClef As String
    Dim RetVal As Long
    Dim ClefHandle As Long
    
    NomClef = "Software/" & "Notepad" ' ATTENTION: il y a un "backslash" entre "Software" et Nomlogiciel (inverse de "/", mais ça ne s'affiche pas sur ce site !?)
    ValeurClef = "c:windows
otepad.exe"
    RetVal = RegCreateKey(HKEY_LOCAL_MACHINE, NomClef, ClefHandle)
    RetVal = RegSetValue(ClefHandle, "", REG_SZ, ValeurClef, 0&)
    
    NomClef = "Notepad"
    ValeurClef = "Fichier listing assembleur"
    RetVal = RegCreateKey(HKEY_CLASSES_ROOT, NomClef, ClefHandle)
    RetVal = RegSetValue(ClefHandle, "", REG_SZ, ValeurClef, 0&)
    
    NomClef = ".lst"
    ValeurClef = "Notepad"
    RetVal = RegCreateKey(HKEY_CLASSES_ROOT, NomClef, ClefHandle)
    RetVal = RegSetValue(ClefHandle, "", REG_SZ, ValeurClef, 0&)
    
    NomClef = "Notepad"
    ValeurClef = "c:windows
otepad.exe" & " ""%1"""
    RetVal = RegCreateKey(HKEY_CLASSES_ROOT, NomClef, ClefHandle)
    RetVal = RegSetValue(ClefHandle, "shell/open/command", REG_SZ, ValeurClef, MAX_PATH)
    ValeurClef = "c:assotest.ico" & ",0"
    RetVal = RegSetValue(ClefHandle, "DefaultIcon", REG_SZ, ValeurClef, MAX_PATH)

End Sub
Merqui
@+

Commentaire de RollieTyler le 04/05/2002 23:16:40

Encore moi :-)
je viens de voir que les anti slash "/" ne s'affichait pas, mais je les ai bien mis et g bien mis le "n" a notepad dans le premier ValeurClef
Bizarre...
Aidez-moi sVP!!!!

Commentaire de RollieTyler le 04/05/2002 23:41:09

cucu encore moi!!!!!!
NON c bon ca marche!!
j'avais mis les "/" a l'envers :-()-()=..??/
j'ai lu trop vite la phrase!!
Merci, super code!!

Commentaire de yoman64 le 08/06/2002 08:41:38

Kool

Commentaire de skram666 le 25/12/2002 12:55:30

Génial c ce que je voulais rajouter a mes applications merci

Commentaire de misterglacon le 23/03/2003 15:01:37

Il est terrible ce code !!!!

Est ce que je peut l'ajouter à mon site dan la rubrique "Boite à outils"
http://perso.wanadoo.fr/t-a-g/
Mon E-Mail : www.textureagogo@hotmail.com

Merci de me contacter au plus vite !

ET encore BRAVO !

Commentaire de ralf19b3 le 14/11/2003 21:18:44

A quand une source ou l'on pourat rentrer toute ces donner dans des textbox ca serait tete un peut pratique car moi la je galere a le faire marcher!! si quelqu'un pourer me filer une source avec ce programme je suis preuneur =) merci d'avance

Commentaire de yannd0307 le 19/10/2006 23:55:57

J'aurais aimé savoir s'il était possible de spécifier plusieurs extensions pour un même programme?
Merci d'avance.

Commentaire de Dowin le 29/10/2006 10:36:43

Pour VB.Net, si vous voulez faire des associations d'extension lors de l'installetion de votre application, vous pouvez créer un projet de déploiement et spécifier les associations en faisant :
- Clic-droit sur votre projet de déploiement dans l'explorateur de solution,
- Afficher,
- Types de fichiers,
- Clic-droit sur types de fichiers sur l'ordinateur cible,
- Ajouter un type de fichier,
- Donnez un nom, une commande (c'est à dire un .exe ou la sortie principale de votre application dans le dossier d'application), et l'extension (ou les extensions) sans mettre de "." (ex: doc et non .doc) et si vous le voulez un icone.

Sinon tapez "déploiement, gestion de fichiers" dans l'index de l'aide et vous devriez avoir de plus amples renseignements

PS: Ne pas oublier de générer la solution pour que les options de déploiement soient prises en compte.

Commentaire de bamadou2006 le 25/06/2007 16:05:00

bonjour vous avez un super code mais je n'y comprend rien.j'aimerai avoir une source plus pratique.
merci de bien vouloir m'aider

NB:"ASSOCIATION D'UNE EXTENSION A UNE APPLICATION (EX: *.DOC = MS WORD)" de jray.


***URGENT***

Commentaire de CreatorLine le 11/11/2007 18:04:55

Bonjour , sa fait plusieurs années que je développe des applications du style Word, et personnellement je n'était jamais arrivé à associé une extension a un programme.Biensur a part en utilisant le panneau de configuration windows. Je te dit Bravo pour t'on code

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Association d'extension a son application [ par ralf19b3 ] S@lut les programmeur je voudrait savoir si l'un de vous a une projet VB6 qui permet tout simplement d'associer une extension a son application?? G es Association Extension d'un fichier <-> Icone [ par Schum ] Voilà, j'aimerai que mon programme associe à un fichier son icône telle qu'elle est dans Windows.Mais je ne veux pas une liste non exaustive des icone resultat d'association a un extension [ par blindman ] une fois ceci fait,(l'association de mon prog à une extension de mon cru),comment faire pour que lorsque le prog ce lance via un de ces fichier le tex association d'une extension [ par blindman ] associer et creer une extension je sais le faire pas de souci ,mais mon probleme est de recuperer les informations d'un fichiers lorsque c'est ce dern Associer mon programme à une extension ? [ par dede1919 ] Bonjour!Voilà je désire faire démarrer les .mp3 avec mon application. Après quelque recherche, j'ai trouvé que en ajoutant deux clés dans la base de r association d'extension à un prog [ par attila46 ] J'ai réaliser un prog qui me stocke des info dans des fichiers avec une extension en .moe.Quand je fais un double clic sur un fichier .moe, j'arrive à Associer une icone a une nouvelle extension [ par DebvbJ ] SalutJe voudrais savoir comment je pourais faire pour associer une icône à tous les fichiers portants l'extension ".wpm"Je suppose qu'il y a un moyen Association extension -> prog sans registre [ par bainic ] Bonjour,Je souhaîte creer l'association d'une extension avec un exécutable sans utiliser les registres.Merci de votre aide. Associer une icone à un raccourci [ par PetitGognol ] PetitGognolSalutJe cherche à associer une icone personnalisée à mes raccourcis pendant l'installation de mon programme. Comment puis-je m'y prendre (p extension d'une base de données [ par kiloo ] bonjour,j'ai une base de données avec l'extension *.dbce n'est pas du paradox , ni du visual foxpro.est -que quelqu'un aurait une idée ? indice : lors


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales