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

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Mémoriser que la bonne clé est entrée dans My.Setting.Variable
    Et à l'ouverture de l'appli la tester
    A+
    0
    1. ElementW Messages postés 5690 Statut Contributeur 1 293
       
      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
    2. lermite222 Messages postés 9042 Statut Contributeur 1 199
       
      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
    3. 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
    4. lermite222 Messages postés 9042 Statut Contributeur 1 199
       
      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
    5. 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
  2. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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