VB form qui s'ouvre une seul fois ?

Fermé
Ordibug? Messages postés 105 Date d'inscription dimanche 18 novembre 2012 Statut Membre Dernière intervention 9 décembre 2015 - 1 nov. 2013 à 16:19
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 7 nov. 2013 à 00:36
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!!
A voir également:

2 réponses

lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
2 nov. 2013 à 16:40
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 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
2 nov. 2013 à 19:01
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 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
2 nov. 2013 à 19:27
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 105 Date d'inscription dimanche 18 novembre 2012 Statut Membre Dernière intervention 9 décembre 2015 3
5 nov. 2013 à 20:58
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 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
6 nov. 2013 à 03:31
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 105 Date d'inscription dimanche 18 novembre 2012 Statut Membre Dernière intervention 9 décembre 2015 3
Modifié par Ordibug? le 6/11/2013 à 18:32
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 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
7 nov. 2013 à 00:36
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