vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2019
 
zurück
Rubrik: Controls · TextBox & RichTextBox   |   VB-Versionen: VB4, VB5, VB601.05.01
Passwort-Eingaben enttarnt

Dieser Tipp zeigt, wie man unter Windows 95 Passwörter aus Passwort-Dialogen auslesen kann.

Autor:   Heinz PrelleBewertung:     [ Jetzt bewerten ]Views:  24.487 
www.visual-basic5.deSystem:  Win9x, Win8, Win10 Beispielprojekt auf CD 

Normalerweise werden in Passwort-Eingabefelder anstelle der eingegebenen Buchstaben und Zahlen immer nur Sternchen angezeigt. Mit der nachfolgenden Routine können eben solche Eingabefelder so manipuliert werden, daß anstelle der Sternchen wieder die korrekte Eingabe zu sehen ist.

Hierzu wird der Mauszeiger permanent abgefragt und das Handle des Fensters, Objektes oder Controls, über welchen sich der Mauszeiger befindet ermittelt. Mit Hilfe dieses Handles wird das Zeichen für versteckte Eingaben (Passwort-Eingaben) wieder zurückgesetzt, so daß anstelle der Sternchen wieder der normale Text angezeigt wird.

Der Tipp funktioniert scheinbar aber nur unter Windows 95. Unter Windows NT/2000 zeigt der Tipp kein Erfolg!

Und so gehts:
Starten Sie ein neues Projekt und fügen die nachfolgenden Deklarationen im Allgemeinteil der Form ein.

' zunächst die benötigten API-Deklarationen
Private Declare Function SendMessage Lib "user32" _
  Alias "SendMessageA" ( _
  ByVal hwnd As Long, _
  ByVal wMsg As Long, _
  ByVal wParam As Long, _
  lParam As Any) As Long
 
Private Declare Function GetCursorPos Lib "user32" ( _
  lpPoint As POINTAPI) As Long
 
Private Declare Function WindowFromPoint Lib "user32" ( _
  ByVal xPoint As Long, _
  ByVal yPoint As Long) As Long
 
Private Type POINTAPI
  X As Long
  Y As Long
End Type
 
Private Const EM_SETPASSWORDCHAR = &HCC

Plazieren Sie ein Timer-Steuerelement auf die Form und setzen die Intervall-Eigenschaft auf 100. Das bedeutet, daß alle Zehntelsekunde das Timer1_Timer-Ereignis ausgelöst wird. Zusätzlich wird noch ein Label-Steuerelement benötigt, welches das ermittelte Fenster-Handle anzeigt. Nennen Sie das Label-Steuerelement lblHandle.

Private Sub Timer1_Timer()
  fGetPasswort lblHandle
End Sub

In der Prozedur fGetPasswort wird das Fensterhandle des Elements, auf dem sich der Mauszeiger gerade befindet, ermittelt. Über die SendMessage-API wird das Passwort-Zeichen entfernt, so daß bei Passwort-Texteingaben der Originaltext anstelle der Sternchen angezeigt wird.

Private Function fGetPasswort(objLabel As Label)
  Dim lRet As Long
  Dim CurPos As POINTAPI
 
  GetCursorPos CurPos
  lRet = WindowFromPoint(CurPos.X, CurPos.Y)
  objLabel.Caption = "Window Handle : " & lRet
  SendMessage lRet, EM_SETPASSWORDCHAR, 0, 0
End Function

Dieser Tipp wurde bereits 24.487 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2019 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