VB form qui s'ouvre une seul fois ?

Ordibug? Messages postés 137 Statut Membre -  
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,



Je fais actuellement un gros projet. Et en faite, il faut une license pour accéder au logiciel.
Voilà, je sais comment faire la blabla pour la license, mais j'aimerais que la première fenêtre(celle où tu mets la clé, ne s'ouvre qu'une seule fois (après avoir mit une clé valide biensûr))
merci d'av!!

2 réponses

lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bonjour,
Mémoriser que la bonne clé est entrée dans My.Setting.Variable
Et à l'ouverture de l'appli la tester
A+
0
ElementW Messages postés 5690 Statut Contributeur 1 224
 
Au passage, ne pas oublier d'appeler
My.Settings.Save()
après l'enregistrement de la clé ou de paramétrer le projet pour enregistrer My.Settings à la fermeture du programme. Dans le 2e cas, mettre le Save() quand même; comme ça si l'appli crash, la clé est quand même sauvegardée. (Qu'est-ce que ça m'a soulé ça quand je codais en VB.NET).
((Oooh un système de clé d'enregistrement en .NET... Vite sortir ILSpy et un éditeur ILASM))
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Moi j'enrégistre Directement la valeur juste après sont initialisation..
My.Setting.Variable = Valeur
Même pas besoin (en cas de plantage) d'aller jusqu'à la fin.
0
Ordibug? Messages postés 137 Statut Membre 3
 
nan mais moi je veux que après que après que l'enregistrement soit fait, la fenetre ne souvre plus! merci
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
pour quelqu'un qui...
 fait actuellement un gros projet
t'a pas l'air fort rapide à la compréhension !
Form1 = Forme d'ouverture.de l'appli.
Form1Load : tester MySettin.MCode
si MySettin.MCode n'est pas valide alors..
Form1.Hide
FormCode show
Entrer la clé
Si Bon valider My.Settings.Mcode
si non Fermer apli
Fin des tests
0
Ordibug? Messages postés 137 Statut Membre 3
 
Oui je fais un projet. Mais c'est pas forcément important ça. Et les settings, pour moi, c'est nouveau ! ;) mais, je ne comprends pas ton code... Que dois-je marqué ?
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Allez.. en te tenant par la main.. :-)
Nouveau projet
'Form1 supposée forme de démarrage (principale)
'double clic sur My Projet dans l'explorateur de solutions
'tu atterris sur la fenêtre WindowsApplication1
'Sélectionne l'onglet Paramètres
'Remplace Setting par MaCle (par exemple) et dans Valeur tu tape ABCDEFGH (ta clé de contrôle)
'A la ligne suivante tu remplace Setting par mCleValide tu laisse Valeur vide
'Ferme la fenêtre

Dans le code de Form1 ru colle le code suivant
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
With My.Settings
If .MaCle <> .mCleValide Then
Form2.ShowDialog(Me)
If .MaCle <> .mCleValide Then
Me.Dispose()
Else
.mCleValide = .MaCle
End If
End If
End With
End Sub

'ajouter form2
    'Deux boutons nommés Valider et Annuler
'Un textbox TexBox1

'Le code das form2
Private Sub Valider_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Valider.Click
With My.Settings
If .MaCle = TextBox1.Text Then
.mCleValide = TextBox1.Text
End If
End With
Me.Dispose()
End Sub

Private Sub Annuler_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Annuler.Click
Me.Dispose()
End Sub
Tant que le bon code (ABCDEFGH) n'est pas entrer la form1 ne serra jamais ouverte.
Dés que la clé est entrée la Form2 ne serra plus jamais vue.

Note, si un petit malin copie ton Exe sur un autre PC la clé serra copiée avec, il faudrait donc ajouter un test supplémentaire sur l'utilisateur ce qui lui permettrait, par exemple de copier sa version sur sont portable mais qui ne fonctionnerais plus si sur un autre PC
Cet exemple est réduit à sa plus simple expression, à toi de finaliser la gestion d'erreur, le nombre d'entrée clé etc.
A+
0