vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 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: Maus & Tastatur · Maus   |   VB-Versionen: VB4, VB5, VB608.06.02
Tastatur- und Maus blockieren

Dieser Tipp zeigt, wie sich sowohl die Tastatur, als auch die Maus blockieren und wieder freigeben lassen.

Autor:   UnbekanntBewertung:     [ Jetzt bewerten ]Views:  34.370 
ohne HomepageSystem:  Win9x, WinNT, Win2k, WinXP, Vista, Win7, Win8, Win10 Beispielprojekt auf CD 

Zu unserem heutigen Tipp gibt es nicht viel zu sagen, nur soviel, dass sich über die BlockInput-API sowohl die Tastatur, als auch die Maus blockieren und wieder freigeben lässt.

' Benötigte API Deklaration
Private Declare Function BlockInput Lib "user32" ( _
  ByVal fBlock As Boolean) As Boolean

Aufruf:

' Tastatur und Maus-Eingabe sperren
BlockInput True
' ...und wieder freigeben :-)
BlockInput False

Kleines Anwendungsbeispiel:
Starten Sie ein neues Projekt und fügen Sie folgende Controls auf die Form:

  • Timer (Timer1)
  • CommandButton (cmdBlock)
  • Label (lblTime)

    Beim Klicken auf die Schaltfläche sollen Tastatur und Maus für 10 Sekunden blockiert werden. Danach wieder alles normal.

    Code

    Option Explicit
     
    ' Benötigte API Deklaration
    Private Declare Function BlockInput Lib "user32" ( _
      ByVal fBlock As Boolean) As Boolean
    Private Sub Form_Load() 
      ' Timer-Eigenschaften
      Timer1.Enabled = False
      Timer1.Interval = 1000
    End Sub
    Private Sub cmdBlock_Click()
      ' Tastatur und Maus-Eingabe sperren
      cmdBlock.Enabled = False
      BlockInput True
      Timer1.Tag = 10
      Timer1.Enabled = True
    End Sub
    Private Sub Timer1_Timer()
      ' Restzeit anzeigen
      lblTime.Caption = "Verbleibende Zeit: " & _
        CStr(Timer1.Tag) & " Sekunden"
      lblTime.Visible = True
      Timer1.Tag = Timer1.Tag - 1
     
      ' OK, Zeit vorbei ;-)
      If Timer1.Tag < 0 Then
        BlockInput False
        cmdBlock.Enabled = True
        lblTime.Visible = False
      End If
    End Sub

    @Moni:
    Aber nicht wieder die lieben Arbeitskollegen damit ärgern
     

  • Dieser Tipp wurde bereits 34.370 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