vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 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 - Ein- und Umsteiger
Blackscreen mit Passworteingabe auslösen 
Autor: Tomot
Datum: 31.07.07 21:52

Hi,
ich habe gestern mal meine ersten Zeichenexperimente gemacht. Spaßeshalber zeichne ich ein schwarzes Rechteck über den ganzen Monitor. Wenn nun jedoch ein Steuerelement den Fokus bekommt, wird ein Teil des Rechtecks wieder übermalt. Dies gilt natürlich auch für Möglichkeiten den Fokus zu setzen. (z.B. Windowstaste + D)
Kann man denn dafür sorgen, dass ich quasi meinen Blackscreen beibehalte? Ich wollte nämlich aus Spaß eine Art Sperre einbauen, bei der mein Monitorbild schwarz wird und eine Passwortabfrage in der Mitte erscheint.
Ich sehe das so:
1) Ich muss dafür sorgen, das der Hintergrund nicht übermalt wird. (eventuell dafür sorgen das meine Anwendung dauerhaft den Fokus behält, keine Steuerelemente, sowie keinen Formrand enthält)
2) Bestimmte Tastaturkombinationen abfangen, wie z.B. Windowstaste + D, Alt+4, Strg+Alt+Entf, um das übermalen zu verhindern.
3) Die gemachten Tastenabdrücke abfangen und dann auf den Monitorschreiben, um die Eingabe zu visualisieren. Gleichzeitig werden die Eingaben überprüft, ob sie mit dem Password identisch sind.
Geht das irgendwie einfacher? ;)
Kann mir da jemand auf die Sprünge helfen?
Ich hänge mal meinen bisherigen Code an.

Eine unschöne Lösung wäre komplexe Tastenkombinationen abzufangen, jedoch wusst ich gerade nicht wie.
Private Declare Function GetDC Lib "user32" Alias _
        "GetDC" (ByVal hwnd As Integer) As IntPtr
 
Private Declare Function ReleaseDC Lib "user32" Alias _
        "ReleaseDC" (ByVal hwnd As Integer, ByVal hdc _
        As IntPtr) As Integer
 
Private Sub Button1_Click(ByVal sender As System.Object, _
          ByVal e As System.EventArgs) Handles Button1.Click
Dim dc As IntPtr
Dim g As Graphics
Dim bla As System.Drawing.Rectangle
dc = GetDC(0)
g = Graphics.FromHdc(dc)
bla.Height = screen.PrimaryScreen.Bounds.Height
bla.Width = screen.PrimaryScreen.Bounds.Width
g.FillRectangle(Brushes.Black, bla)
g.DrawRectangle(Pens.Black, bla)
g.Dispose()
ReleaseDC(0, dc)
mfg Tomot
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Blackscreen mit Passworteingabe auslösen1.230Tomot31.07.07 21:52
Re: Blackscreen mit Passworteingabe auslösen713Moderatorralf_oop31.07.07 22:23
Re: Blackscreen mit Passworteingabe auslösen744Tomot31.07.07 22:31
Re: Blackscreen mit Passworteingabe auslösen801sudave01.08.07 01:51

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