ligne de code et aide a la creation de NCTD ... peut servir

Avatar du membre
sh@rp
Membre VIP
Membre VIP
Messages : 585
Enregistré le : mar. 1 févr. 2011 13:03
Contact :
    unknown unknown

Re: NCTD by Nash

Message par sh@rp »

Nash a écrit :
De rien pour l'aide si ca peut te donner envie dans un éventuel apprentissage.
oui je pense , j'aime bien :):)

meme si sans les bases , c'est assez compliqué :(

ca ira peut etre mieux quand je me mettrai dans mes livres lol !

ps: pour le clique droit , j'ai pas du tout saisie :( j'ai essayer plein de truc mais je bloque sur le chemin de l'exe aleatoire suivant utilisateur...?? c'est VB qui va chercher le chemin a inscrire dans le reg qu'il cré ?
j'ai chercher sur net mais tres peu de tuto traine la dessus !
la je suis en train de faire une fenetre sur les infos systeme (comme dans ton tuto sur my7 :)

a force il va pas etre mal mon ptit log :):)

+++
En fait il faut que tu débutes par des petits projets simples :

- Lorsque tu cliques sur un bouton ca affiche dans une MessageBox le chemin complet de l'exécutable de ton appli.

Ca donnerait ca :

http://wallace87000.upd.fr/ShowAppPath.7z" onclick="window.open(this.href);return false;

Bonne prog.
Le dev ne se réduit pas à du simple copier/coller de codes sources mais à une incommensurable phase d'apprentissage d'un domaine en perpétuelle évolution !
http://3dotdevcoder.blogspot.fr/
Avatar du membre
Nash
Administrateur du site
Administrateur du site
Messages : 4403
Enregistré le : sam. 6 nov. 2010 14:19
Localisation : 89
    unknown unknown

Re: NCTD by Nash

Message par Nash »

oufffffff nikel

Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged
If ComboBox2.SelectedItem = "Ajouter au clique droit" Then
AppPath = Application.ExecutablePath
Me.TextBox1.Text = AppPath

WshShell = CreateObject("WScript.Shell")
WshShell.RegWrite("HKEY_CLASSES_ROOT\DesktopBackground\Shell\NCTD\", "Modifier son horloge", "REG_SZ")
WshShell.RegWrite("HKEY_CLASSES_ROOT\DesktopBackground\Shell\NCTD\icon", Me.TextBox1.Text, "REG_SZ")
WshShell.RegWrite("HKEY_CLASSES_ROOT\DesktopBackground\Shell\NCTD\Position", "Bottom", "REG_SZ")
WshShell.RegWrite("HKEY_CLASSES_ROOT\DesktopBackground\Shell\NCTD\command\", Me.TextBox1.Text, "REG_SZ")
my god , j'en ai chier lollllllllllll au moins 45 essaies :D

merci , merci , merci :):):)

j'ai essayer un case pour l'inverse lol (tu rigoles pas )
ElseIf ComboBox2.SelectedItem = "Retirer du clique droit" Then
WshShell = CreateObject("WScript.Shell")

WshShell.delreg("HKEY_CLASSES_ROOT\DesktopBackground\Shell\NCTD\", "Modifier son horloge", "REG_SZ")
WshShell.Regdel("HKEY_CLASSES_ROOT\DesktopBackground\Shell\NCTD\icon", Me.TextBox1.Text, "REG_SZ")
WshShell.Regdel("HKEY_CLASSES_ROOT\DesktopBackground\Shell\NCTD\Position", "Bottom", "REG_SZ")
WshShell.Regdel("HKEY_CLASSES_ROOT\DesktopBackground\Shell\NCTD\command\", Me.TextBox1.Text, "REG_SZ")
essayer "regdel , delreg , etc...mdr
je regarderais sur net demain ;) la il est temps de faire dodo :)

++++++++
Image
• Ryzen 9 5900x
• B550 AORUS PRO 
• RTX 3060ti phoenix 
• thermaltake core p8 tg
• 1 x SSD 500GB   PCIe4 M.2 SEA
• 32 G DDR4 3600 corsaire
• Corsaire 1000w full modulaire passive
• MasterLiquid ML240R RGB
•1 to stockage NVME.M2 PCIe
Avatar du membre
Nash
Administrateur du site
Administrateur du site
Messages : 4403
Enregistré le : sam. 6 nov. 2010 14:19
Localisation : 89
    unknown unknown

Re: NCTD by Nash

Message par Nash »

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
My.Computer.Registry.ClassesRoot.DeleteSubKeyTree("DesktopBackground\Shell\NCTD\")
End Sub
plus simple et plus propre ;)


version 1.5 :

ajouts de la case options pour pouvoir mettre ou retirer l'application du clique droit sur bureau :)

merci :o Sh@rp , encore :*

ps:je voulais faire par checkbox , je reussi en cochant a appliquer les modifs , mais comment mettre ma ligne :
My.Computer.Registry.ClassesRoot.DeleteSubKeyTree("DesktopBackground\Shell\NCTD\")
pour qu'elle soit operationnelle en "decochant " la checkbox ??
Image
• Ryzen 9 5900x
• B550 AORUS PRO 
• RTX 3060ti phoenix 
• thermaltake core p8 tg
• 1 x SSD 500GB   PCIe4 M.2 SEA
• 32 G DDR4 3600 corsaire
• Corsaire 1000w full modulaire passive
• MasterLiquid ML240R RGB
•1 to stockage NVME.M2 PCIe
Avatar du membre
sh@rp
Membre VIP
Membre VIP
Messages : 585
Enregistré le : mar. 1 févr. 2011 13:03
Contact :
    unknown unknown

Re: NCTD by Nash

Message par sh@rp »

Nash c'est de la programmation et si tu ne gère pas les différents scénarios l'utilisateur rencontrera forcément des problèmes.

Imagines simplement que la sous-clé "NCTD" n'existe pas dans le registre de l'utilisateur et qu'il veuille supprimer l'item du clique droit en cliquant sur ton Button2 ----> Ca génèrera une erreur du framework. OO (Message d'erreur : Impossible de supprimer une sous-clé, car elle n'existe pas.)
Il faut gérer toutes les possibilités en tant que dev sinon tu auras du support toutes les 5 minutes à assurer. ;)
Dans ton cas tu dois déterminer avant de vouloir supprimer cette sous-clé si elle existe ensuite tu peux la supprimer. Ne brûles pas les étapes. ;)

Pour agir sur l'évènement cocher/décocher d'une checkBox il faut que tu créés le gestionnaire d'évènement "CheckedChanged" de ton objet "CheckBox".

De plus c'est bien de vouloir mettre en place une checkBox mais il faut aussi avant de demander à l'utilisateur de cocher ou décocher, déterminer l'état de la case à cocher au lancement de l'appli (le menu contextuel existe-t-il dans le registre si oui je code de facon à cocher la case au lancement de l'appli....).

A+
Le dev ne se réduit pas à du simple copier/coller de codes sources mais à une incommensurable phase d'apprentissage d'un domaine en perpétuelle évolution !
http://3dotdevcoder.blogspot.fr/
jeff64
    unknown unknown

Re: NCTD by Nash

Message par jeff64 »

Be cool Nash 8)
Avatar du membre
Nash
Administrateur du site
Administrateur du site
Messages : 4403
Enregistré le : sam. 6 nov. 2010 14:19
Localisation : 89
    unknown unknown

Re: NCTD by Nash

Message par Nash »

lol j'apprends , toujours cool moi :):)

exact pour l'erreur du framework

faut je corrige ca , ca devrait aller :) (2 h pas plus lol )

pour le reste j'ai piger ton raisonnement (logique) , je m'en occupe quand j'ai un peu de temps ;)
Image
• Ryzen 9 5900x
• B550 AORUS PRO 
• RTX 3060ti phoenix 
• thermaltake core p8 tg
• 1 x SSD 500GB   PCIe4 M.2 SEA
• 32 G DDR4 3600 corsaire
• Corsaire 1000w full modulaire passive
• MasterLiquid ML240R RGB
•1 to stockage NVME.M2 PCIe
Avatar du membre
Nash
Administrateur du site
Administrateur du site
Messages : 4403
Enregistré le : sam. 6 nov. 2010 14:19
Localisation : 89
    unknown unknown

Re: NCTD by Nash

Message par Nash »

version 1.5.1

-correction du message d'erreur pour retrait du raccourci clique droit si celui ci n'est pas present (1h30 pfff :) )

-verifications de la clé reg pour l'ajouts et le retrait de l'utilitaire au clique droit

-ajouts de boite de dialogue pour confirmer "l'ajouts ou le retrait clique droit"

NCTD V1.5.1 by Nash

en prevision une fonction "sauvegarder le timedate.cpl sur le DD" et peut etre "Appliquer votre propre timedate.cpl

mais ca on verra suivant les difficultées :D

+++++
Image
• Ryzen 9 5900x
• B550 AORUS PRO 
• RTX 3060ti phoenix 
• thermaltake core p8 tg
• 1 x SSD 500GB   PCIe4 M.2 SEA
• 32 G DDR4 3600 corsaire
• Corsaire 1000w full modulaire passive
• MasterLiquid ML240R RGB
•1 to stockage NVME.M2 PCIe
jeff64
    unknown unknown

Re: NCTD by Nash

Message par jeff64 »

Super et merci ;) ;)
Avatar du membre
Nash
Administrateur du site
Administrateur du site
Messages : 4403
Enregistré le : sam. 6 nov. 2010 14:19
Localisation : 89
    unknown unknown

Re: NCTD by Nash

Message par Nash »

arfff

un truc bizarre

l'application marche tres bien avec l'exe , mais message d'erreur a l'ouverture et bouton appliquer les modifs ne marche pas si je le lance du raccourci clique droit !!!!!

bizarre pourtant le raccourci clique droit appelle bien le meme exe !???

ca le fait chez toi jeff64?
************** Débogage JIT **************
Pour activer le débogage juste-à-temps (JIT), le fichier de configuration pour cette
application ou cet ordinateur (machine.config) doit avoir la valeur
jitDebugging définie dans la section system.windows.forms.
L'application doit également être compilée avec le débogage
activé.
c'est du chinois la ::)

apres test , on dirait que l'applicationne trouve pas le dossier "sources" ou sont mes bat et cpl...bizarre , pourquoi en cliquant sur l'exe original , il les trouves ??
Image
• Ryzen 9 5900x
• B550 AORUS PRO 
• RTX 3060ti phoenix 
• thermaltake core p8 tg
• 1 x SSD 500GB   PCIe4 M.2 SEA
• 32 G DDR4 3600 corsaire
• Corsaire 1000w full modulaire passive
• MasterLiquid ML240R RGB
•1 to stockage NVME.M2 PCIe
Avatar du membre
Nash
Administrateur du site
Administrateur du site
Messages : 4403
Enregistré le : sam. 6 nov. 2010 14:19
Localisation : 89
    unknown unknown

Re: NCTD by Nash

Message par Nash »

bon je continu avec mes problemes lol

le dossier "resources" , bien compliqué ca :

jai mis un exe dedans : mmm.exe

puis en lancant script :
My.Computer.FileSystem.WriteAllBytes(Application.StartupPath & "\mmm.exe", My.Resources.mmm, False)
j'obtiens erreur :

Erreur 1 'mmm' est un type dans 'Resources' et ne peut pas être utilisé en tant qu'expression. D:\AAAVB\NCTD2\NCTD\Form1.vb 115 88 NCTD

j'ai fais beaucoup de recherche et ca a l'air bien compliqué d'extraire un fichier du dossier "resources" de l'application ???

@ sh@rp :

toutes tes applications sont en 1 seul exe , pas de dossier joint a coté de l'exe !
j'en deduis que tu integres tes outils s'il y a dans le dossier "resources" ??

j'ai deja vu des programmes qui copie a l'ouverture de celui ci les outils necessaires dans Application.StartupPath ...donc c'est bien que ces fichiers sont dans le dossier resources puis copier ensuite dans le repertoire voulu ?

hummm je sens vais passer du temps la dessus lolll
Image
• Ryzen 9 5900x
• B550 AORUS PRO 
• RTX 3060ti phoenix 
• thermaltake core p8 tg
• 1 x SSD 500GB   PCIe4 M.2 SEA
• 32 G DDR4 3600 corsaire
• Corsaire 1000w full modulaire passive
• MasterLiquid ML240R RGB
•1 to stockage NVME.M2 PCIe
Répondre