VB-Homepage Tipp 132

Ist aktiver User auch der angemeldete User

Wie abgefragt werden kann, welcher User gerade angemeldet, wurde in einem anderen Tipp schon beschrieben.(GetUserName).
Nun ist es aber auch möglich, daß zwar ein entsprechender User angemeldet ist, der auch über entsprechende Rechte verfügt Ihr Programm zu nutzen, aber im Moment ist er gar nicht der jenige der am PC arbeitet.
Selbstverständlich können Sie für Ihr Programm ein separates Paßwort abfragen, das ist aber für den User immer unfein, da er sich ein weiteres Paßwort merken muß. Geläufig ist durchaus, das der angemeldete User abgefragt wird und an Hand dessen das Programm startet oder seinen Dienst verweigert.
Um aber dennoch den oben geschilderten Fall aus zuschließen - hier ein Tipp.

Die Funktionsweise ist so aufgebaut, das beim Programmstart eine Paßwortabfrage erscheint. Nun werden Sie sagen, was is'n da der Unterschied.
Ganz einfach, hier wird nicht etwa nach einem separatem Paßwort gefragt, sondern nach genau dem, mit dem sich der User unter Windows angemeldet hat und das sollte wirklich nur er kennen.

korruser.vbp
Form=korruser.frm
ProjWinSize=133,380,248,215
ProjWinShow=2
IconForm="Form1"
Title="angemeldeter User"
ExeName32="korruser.exe"
Name="Projekt1"
HelpContextID="0"
StartMode=0
VersionCompatible32="0"
MajorVer=1
MinorVer=0
RevisionVer=0
AutoIncrementVer=0
ServerSupportFiles=0

korruser.frm
VERSION 4.00
Begin VB.Form Form1
Caption = "VB-Homepage Tipp"
ClientHeight = 1365
ClientLeft = 2130
ClientTop = 1950
ClientWidth = 7305
Height = 1770
Left = 2070
LinkTopic = "Form1"
ScaleHeight = 1365
ScaleWidth = 7305
Top = 1605
Width = 7425
Begin VB.CommandButton Command1
Caption = "Bist Du's"
Height = 375
Left = 2640
TabIndex = 0
Top = 600
Width = 1695
End
Begin VB.Label Label3
Alignment = 2 'Center
Caption = "Gefunden auf : http://www.basicworld.com ( Autor : M.Schiffer http://www.rat.de/metty)"
Height = 255
Left = 240
TabIndex = 3
Top = 1080
Width = 6855
End
Begin VB.Label Label2
Alignment = 2 'Center
Height = 855
Left = 120
TabIndex = 2
Top = 1080
Width = 7095
End
Begin VB.Label Label1
Alignment = 2 'Center
Caption = "Ist der aktive Nutzer auch der angemeldete Nutzer?"
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "MS Sans Serif"
Size = 12
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 120
TabIndex = 1
Top = 120
Width = 7095
End
End
Attribute VB_Name = "Form1"
Attribute VB_Creatable = False
Attribute VB_Exposed = False
Private Declare Function WNetVerifyPassword Lib "mpr.dll" Alias "WNetVerifyPasswordA" (ByVal lpszPassword As String, ByRef pfMatch As Long) As Long
Private Sub Command1_Click()
Dim Korrekt As Long
Dim Password As String
Password = InputBox("Geben Sie Ihr Windows-Kennwort ein", "Authentisierung")
If WNetVerifyPassword(Password, Korrekt) <> 0 Then
MsgBox "Das Password konnte nicht überprüft werden."
Else
If Korrekt <> 0 Then
MsgBox "Ihr Password ist korrekt."
Else
MsgBox "Ihr Password ist falsch."
End If
End If
End Sub
Um den Code zu nutzen, erstellen Sie sich mit einem Editor (z.Bsp. Notepad) Dateien die Sie wie angegeben benennen und kopieren Sie den Code hinein. Speichern Sie Ihre Datei ab und öffnen Sie das Projekt entweder direkt aus einem Dateimanager oder öffnen Sie Ihre VB Software und laden sich das Projekt.

Tipp-Download

Quelle : M.Schifer auf http://www.basicworld.com

Zurück zur Übersichtsseite