vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Programm zeitlich begrenzen? 
Autor: Hänk
Datum: 02.10.08 16:14

Probiers mal so

füge dies in das Load Ereignis deiner Startform
Me.lblStart gibt den ersten Programmstart aus und
Me.lblTestzeit den verbleibenden Testzeitraum

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
 
        Dim Testzeit As Integer = 30
        Dim Start As Date = Date.Now
 
        Dim T As Testzeit = New Testzeit
        Start = T.Registrierung_lesen
        Me.lblStart.Text = Start
        T = Nothing
 
        Me.lblTestzeit.Text = Testzeit - DateDiff(DateInterval.Day, Start, _
          Date.Now) & " Tage"
 
    End Sub
erstelle eine neue Klasse und nenne sie Testzeit.vb

Imports Microsoft.Win32
Imports System.Security.Cryptography
Imports System.Text
Imports System.IO
 
 
Public Class Testzeit
 
    Public Function Registrierung_lesen() As Date
 
        Dim RegKey As RegistryKey = Registry.CurrentUser.OpenSubKey( _
          "Software\Testprogramm\Erststart", True)
        Dim Start As Date = Date.Now.ToShortDateString
 
        If (Not RegKey Is Nothing) Then   ' Schlüssel vorhanden
            Start = Entschlüsseln(RegKey.GetValue("Erststart", _
              Date.Now.ToShortDateString))
            RegKey.Close()
        Else
            Call Registrierung_schreiben(Start)
        End If
 
        Return Start
 
    End Function
    Private Sub Registrierung_schreiben(ByVal Start As Date)
 
        Dim RegKey As RegistryKey = Registry.CurrentUser.OpenSubKey( _
          "Software\Testprogramm\Erststart", True)
 
 
        If RegKey Is Nothing Then   ' Schlüssel nicht vorhanden
            RegKey = Registry.CurrentUser.CreateSubKey( _
              "Software\Testprogramm\Erststart") ' erstellen
        End If
 
 
        If (Not RegKey Is Nothing) Then  ' Schlüssel ist vorhanden
            RegKey.SetValue("Erststart", Verschlüsseln(Start))
            RegKey.Close()
        End If
 
    End Sub
 
    ' ------- Verschlüsseln 
    ' -------------------------------------------------------------------------
    ' --------
    Private Const rijndaelIvLength As Integer = 16
    Private Const Passwort As String = "Mein_Passwort"
    Public Function Verschlüsseln(ByVal Wert As String) As String
 
        If Wert = "" Then
            Return ""
            Exit Function
        End If
 
        Dim rd As New RijndaelManaged
        Dim md5 As New MD5CryptoServiceProvider
        Dim key() As Byte = md5.ComputeHash(Encoding.UTF8.GetBytes(Passwort))
 
        md5.Clear()
        rd.Key = key
        rd.GenerateIV()
        Dim iv() As Byte = rd.IV
 
        Dim ms As New MemoryStream
 
        ms.Write(iv, 0, iv.Length)
 
        Dim cs As New CryptoStream(ms, rd.CreateEncryptor, _
          CryptoStreamMode.Write)
        Dim data() As Byte = System.Text.Encoding.UTF8.GetBytes(Wert)
 
        cs.Write(data, 0, data.Length)
        cs.FlushFinalBlock()
 
        Dim encdata() As Byte = ms.ToArray()
        Return Convert.ToBase64String(encdata)
 
 
        cs.Close()
        rd.Clear()
 
    End Function
    Public Function Entschlüsseln(ByVal Wert As String) As String
 
        If Wert = "" Then
            Return ""
            Exit Function
        End If
 
        Dim rd As New RijndaelManaged
 
        Dim md5 As New MD5CryptoServiceProvider
        Dim key() As Byte = md5.ComputeHash(Encoding.UTF8.GetBytes(Passwort))
        md5.Clear()
 
        Dim encdata() As Byte = Convert.FromBase64String(Wert)
        Dim ms As New MemoryStream(encdata)
        Dim iv(15) As Byte
 
        ms.Read(iv, 0, rijndaelIvLength)
        rd.IV = iv
        rd.Key = key
 
        Dim cs As New CryptoStream(ms, rd.CreateDecryptor, _
          CryptoStreamMode.Read)
 
        Dim data(ms.Length - rijndaelIvLength) As Byte
        Dim i As Integer = cs.Read(data, 0, data.Length)
 
        Return System.Text.Encoding.UTF8.GetString(data, 0, i)
 
        cs.Close()
        rd.Clear()
 
 
    End Function
 
End Class
bei mir klappt das prima.

Hänk

(Wer früh aufsteht hat mehr vom Tag)

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Programm zeitlich begrenzen?3.515I2uqnow01.10.08 18:36
Re: Programm zeitlich begrenzen?2.942rub01.10.08 18:46
Re: Programm zeitlich begrenzen?2.796I2uqnow01.10.08 18:51
Re: Programm zeitlich begrenzen?3.011WarFare02.10.08 11:54
Re: Programm zeitlich begrenzen?3.767I2uqnow02.10.08 13:45
Re: Programm zeitlich begrenzen?2.898WarFare02.10.08 13:51
Re: Programm zeitlich begrenzen?3.152Hänk02.10.08 16:14

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel