AUTOMATISER LA SAISIE DE CLÉES CD EN RÉCUPERANT LE NOM DU PROCESS

Signaler
Messages postés
11
Date d'inscription
jeudi 10 novembre 2005
Statut
Membre
Dernière intervention
2 juillet 2011
-
Messages postés
11
Date d'inscription
jeudi 10 novembre 2005
Statut
Membre
Dernière intervention
2 juillet 2011
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/53266-automatiser-la-saisie-de-clees-cd-en-recuperant-le-nom-du-process

Messages postés
11
Date d'inscription
jeudi 10 novembre 2005
Statut
Membre
Dernière intervention
2 juillet 2011

salut merci pour ton commentaire cependant étant autodidacte j'est un peu de mal a differencier les .net et les espace de noms visualbasic
en fait pour etre franc j'est jamais lu un seul cours j'est fait avec la recherche automatiser de visual basic express .

par contre je ne voit pas du tout comment crée se dictionnaire dont tu me parle mais sa me plairais bien d'apprendre je suis la pour sa

pour ton evolution futur j'avoue y avoir penser le fichier config est tres pratique .

pour ta question : "- Pourquoi ne par faire retournée par CreerListeProcess() un tableau de chaines (représentant chaque lignes de ton RTB actuel), cela éviterait d'éventuels problèmes si modification du contenu du RTB durant l'exécution."
le richtextbox1 est visible = false

en fait l'application se lance directement dans la zone de notification (je vient juste de le modifier)

je v mettre a jour le code j'espere pouvoir relire un de tes commentaires qui ma donner pas mal d'idée ;)

merci encore .

Cracken
Messages postés
14819
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
13 septembre 2021
156
Bonsoir,

Donc, comme tu es débutant, je vais te donner quelques conseils et pistes d'évolutions pour ton programme.

On commence par les points étrange du programme :
- AppActivate("Les Sims™ 3 Ambitions")
Où est déclaré AppActivate ?
Si c'est une fonction de l'espace de nom Microsoft.VisualBasic, recherches plutot un équivalent plus .NET, ça rendre l'ensemble plus lisible.

- Evite les noms par défaut pour les controles qyue tu utilises dans ton code, car ils sont en général peu parlant, préfère par exemple :
RTBListProcess à la place de RichTextBox1
RTB RichTextBox, puis une description rapide de à quoi ça sert.

Pareil, TxtPassword (TextBox), CmdOk (Button), ChkActivate (Checkbox), ...

- Pourquoi ne pas utiliser Timer1.Enabled à la place de faire un Start à chaque fois ?
- Pour éviter la réentrance dans ton Timer, tu peux utiliser un variable d'objet ou licale statique pour mémoriser l'état de ton Timer.

(Variable d'objet, une variable déclaré au niveau d'une classe/structure, ici, c'est Form1)
(Variable locale statique, variable locale déclarée avec le mot clé Static)

Amélioration du code possible :
- Pourquoi ne par faire retournée par CreerListeProcess() un tableau de chaines (représentant chaque lignes de ton RTB actuel), cela éviterait d'éventuels problèmes si modification du contenu du RTB durant l'exécution.
- Tes fonctions :
# Sub sims3ambitions()
# AppActivate("Les Sims™ 3 Ambitions") '' on active le process sur lequel on veut travailler
# My.Computer.Keyboard.SendKeys("XXXXXXXXXXXXXXXXXXX" & "{ENTER}") '' Attention aux sendkeys sur vista nécéssite le mode administrateur
# End Sub
#
# Sub sims3()
# AppActivate("Les Sims™ 3")
# My.Computer.Keyboard.SendKeys("XXXXXXXXXXXXXXXXXXX" & "{ENTER}")
# End Sub

Peuvent être remplacée par un Dictionnaire : Dictionary(Of String, String)
Comme ça, tu peux faire dans la boucle de ton Timer :

For Each a In RichTextBox1.Lines ' boucle qui lit la richtextbox ligne par ligne
If MonDictionnaire.ContainsKey(a) Then ' recherche du processus
AppActivate(a) ' on active le process sur lequel on veut travailler
My.Computer.Keyboard.SendKeys(MonDictionnaire(a) & "{ENTER}") '' Attention aux sendkeys sur vista nécéssite le mode administrateur
End If
Next

Ta clé, c'est le nom de la fenêtre et la valeur, la clé à entrer (si la valeur est complexe (plusieurs sous-valeurs), tu peux faire une classe qui contiendra le tout).

ça sera plus souple lors de l'ajout de nouvelles appli.

Evolution future :
Utiliser un fichier de config à la place que ce soit figé dans le code.

Voilà, je pense qu'avec ce petit message, tu as quelques voies de découvertes de VB :)
Bon codage.
Messages postés
11
Date d'inscription
jeudi 10 novembre 2005
Statut
Membre
Dernière intervention
2 juillet 2011

ne soyez pas trop méchant avec mon code sa ne fait que 7 jours que j'apprend
mais si vous pouvez me conseillez pour les prochains .
tous conseils sera mis en pratique .

Merci d'avance Cracken ;)