Création d'une extension personnalisée
Résolu/Fermé
ToxicHayabusa
Messages postés
882
Date d'inscription
dimanche 7 décembre 2014
Statut
Membre
Dernière intervention
2 septembre 2018
-
11 avril 2018 à 17:48
Utilisateur anonyme - 13 avril 2018 à 18:40
Utilisateur anonyme - 13 avril 2018 à 18:40
A voir également:
- Création d'une extension personnalisée
- Sonnerie personnalisée android - Guide
- Extension dat - Guide
- Extension .bin - Guide
- Changer extension fichier - Guide
- Creation compte gmail - Guide
2 réponses
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
11 avril 2018 à 19:50
11 avril 2018 à 19:50
Bonjour,
Voir ceci pour créer son extension:
https://www.developpez.net/forums/d473477/dotnet/langages/vb-net/creer-propre-extension/
et cela pour écrire dans le registre en vbs
http://www.octetmalin.net/windows/scripts/vbscript-lecture-ecriture-cle-registre.php
Voir ceci pour créer son extension:
https://www.developpez.net/forums/d473477/dotnet/langages/vb-net/creer-propre-extension/
et cela pour écrire dans le registre en vbs
http://www.octetmalin.net/windows/scripts/vbscript-lecture-ecriture-cle-registre.php
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
11 avril 2018 à 20:50
11 avril 2018 à 20:50
On n'ecrit pas dans Nom de la valeur mais dans Données de la valeur:
ToxicHayabusa
Messages postés
882
Date d'inscription
dimanche 7 décembre 2014
Statut
Membre
Dernière intervention
2 septembre 2018
109
Modifié le 11 avril 2018 à 23:19
Modifié le 11 avril 2018 à 23:19
Merci je le sais très bien...Visiblement vous n'avez pas vraiment comprit le code :/ J'aurais dû vous le montrer en entier
(ce n'est ici qu'une partie du code entier visiblement, mais c'est la partie qui nous intéresse..)
Evidemment "Lecteur:\icone.ico" est seulement ici en exemple. Le code se trouve dans le bouton 1, qui, lorsque l'on clique, crée la clé de registre. Ici la clé de registre sert donc à créer deux clés, une clé principale pour les fichiers .pwned et la sous clé, "DefaultIcon" pour définir l'icône par défaut. Ici, afin que "DefaultIcon" fonctionne, il faut que le chemin vers l'icône soit intégré donc dans la valeur "(Par défaut)" (en français) de la clé. Hors, Microsoft explique que pour pouvoir le faire, il suffit normalement de laisser le champ pour le nom de la valeur créée vide (subkey.SetValue(" ", @"Lecteur:\icone.ico");) et le système écrira directement dedans, hors lorsque j'ai essayé le système crée juste une nouvelle valeur appelée "(Default)" au lieu d'écrire dans la valeur "(par défaut)"..Je ne vois donc pas comment faire.
En attendant j'ai donc décidé de créer la clé et la sous clé en C# puis de réécrire dans la valeur (par défaut) en vbs.
Microsoft.Win32.RegistryKey key;
Microsoft.Win32.RegistryKey subkey;
private void button1_Click(object sender, EventArgs e)
{
key = Microsoft.Win32.Registry.ClassesRoot.CreateSubKey(".pwned");
subkey = Microsoft.Win32.Registry.ClassesRoot.CreateSubKey(".pwned\\DefaultIcon\\");
subkey.SetValue("", @"Lecteur:\icone.ico");
}
(ce n'est ici qu'une partie du code entier visiblement, mais c'est la partie qui nous intéresse..)
Evidemment "Lecteur:\icone.ico" est seulement ici en exemple. Le code se trouve dans le bouton 1, qui, lorsque l'on clique, crée la clé de registre. Ici la clé de registre sert donc à créer deux clés, une clé principale pour les fichiers .pwned et la sous clé, "DefaultIcon" pour définir l'icône par défaut. Ici, afin que "DefaultIcon" fonctionne, il faut que le chemin vers l'icône soit intégré donc dans la valeur "(Par défaut)" (en français) de la clé. Hors, Microsoft explique que pour pouvoir le faire, il suffit normalement de laisser le champ pour le nom de la valeur créée vide (subkey.SetValue(" ", @"Lecteur:\icone.ico");) et le système écrira directement dedans, hors lorsque j'ai essayé le système crée juste une nouvelle valeur appelée "(Default)" au lieu d'écrire dans la valeur "(par défaut)"..Je ne vois donc pas comment faire.
En attendant j'ai donc décidé de créer la clé et la sous clé en C# puis de réécrire dans la valeur (par défaut) en vbs.
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
12 avril 2018 à 07:56
12 avril 2018 à 07:56
il y a quelques années j'ai fait un programme en VB.Net
https://codes-sources.commentcamarche.net/source/54637-explorateur-de-registre
Dans ce programme tu trouveras le code de création de clé:
Je crois que pour toi c'est une valeur : .Binary
txtChamp.Text = Nom de la valeur
,txtvalue.Text= Données de la valeur
Voilà pour confirmer regarde dans le registre les clés d'un logiciel connu
https://codes-sources.commentcamarche.net/source/54637-explorateur-de-registre
Dans ce programme tu trouveras le code de création de clé:
'ajouter une valeur If txtvalue.Text = "" Then MessageBox.Show("Entrée non valide", "Ajouter valeur", MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Sub Else Try MiseEnForme(txtchemin.Text) 'recuperer clé principale et chemin principalekey(cleprincipale) 'recuperer clé principale pour registre Registre = Registre.OpenSubKey(chemincle, True) 'ouverture Select Case C_Type_Val.SelectedIndex 'en fonction du type Case 0 'Binary Registre.SetValue(txtChamp.Text, txtvalue.Text, RegistryValueKind.Binary) 'ajoute la valeur dans le rep specifié Case 1 'Dword Registre.SetValue(txtChamp.Text, txtvalue.Text, RegistryValueKind.DWord) 'ajoute la valeur dans le rep specifié Case 2 'ExpandString Registre.SetValue(txtChamp.Text, txtvalue.Text, RegistryValueKind.ExpandString) 'ajoute la valeur dans le rep specifié Case 3 'String Registre.SetValue(txtChamp.Text, txtvalue.Text, RegistryValueKind.String) 'ajoute la valeur dans le rep specifié End Select Registre.Close() 'Fermeture du registre MessageBox.Show("Valeur créée dans la clé: " & txtnom.Text & Environment.NewLine & "Nom de la valeur: " & txtChamp.Text & Environment.NewLine & "Données: " & txtvalue.Text, "Ajouter valeur", MessageBoxButtons.OK, MessageBoxIcon.Information) 'affiche le message de reussite Catch ex As Exception MessageBox.Show(ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End If
Je crois que pour toi c'est une valeur : .Binary
txtChamp.Text = Nom de la valeur
,txtvalue.Text= Données de la valeur
Voilà pour confirmer regarde dans le registre les clés d'un logiciel connu
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
12 avril 2018 à 14:31
12 avril 2018 à 14:31
Voir ce site pour créer une sous clé avec le chemin de l'icône:
https://openclassrooms.com/fr/courses/1317051-manipulation-dextensions-avec-la-base-de-registre/1317318-completer-les-cles
@+ Le Pivert
https://openclassrooms.com/fr/courses/1317051-manipulation-dextensions-avec-la-base-de-registre/1317318-completer-les-cles
@+ Le Pivert
ToxicHayabusa
Messages postés
882
Date d'inscription
dimanche 7 décembre 2014
Statut
Membre
Dernière intervention
2 septembre 2018
109
12 avril 2018 à 17:50
12 avril 2018 à 17:50
Merci, cependant encore une fois je sais tout cela, ce qui m'aurait surtout intéressé c'est de savoir pourquoi mon code c# n'écrit pas dans la valeur (Par défaut) et crée à la place une nouvelle valeur (Default). Puisque comme je l'ai dis, j'ai choisis de finalement faire ce code en C# car tout le reste de mon application est en C# :) En revanche je comprendrais que vous ne connaissiez pas le C#, je mettrais dans ce cas le sujet en résolut, puisque j'ai bien trouvé comment créer cette clé, et que ma question est plutôt une question secondaire.
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
Modifié le 12 avril 2018 à 18:05
Modifié le 12 avril 2018 à 18:05
Pour écrire dans la valeur (Par défaut), j'ai répondu en VB.Net ici:
https://forums.commentcamarche.net/forum/affich-35309911-creation-d-une-extension-personnalisee#5
je pense qu'il doit être facile de le traduire en C#
Sinon poser la question ici:
https://codes-sources.commentcamarche.net/forum/c-net-113
Voilà je ne peux pas faire plus
Bon courage
@+ Le Pivert
https://forums.commentcamarche.net/forum/affich-35309911-creation-d-une-extension-personnalisee#5
je pense qu'il doit être facile de le traduire en C#
Sinon poser la question ici:
https://codes-sources.commentcamarche.net/forum/c-net-113
Voilà je ne peux pas faire plus
Bon courage
@+ Le Pivert
11 avril 2018 à 20:00
ça me crée juste une valeur se nommant "(Default)" mais n'écrit pas dans la valeur par défaut, hors Microsoft et d'autres sites anglais précisent que normalement il suffit de laisser le nom de valeur vide..Y a-t-il un moyen d'écrire dans la valeur par défaut peut importe la langue ?