vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

Visual-Basic Einsteiger
Re: Umschalttaste 
Autor: wincnc
Datum: 16.04.07 12:13

Hallo, hier ein Beispiel.

Beim Klick auf Command1 wird die Systemversion geprüft und ob die Feststelltaste aktiv ist.
Falls sie aktiv ist wird sie ausgeschaltet.

      Private Type OSVERSIONINFO
        dwOSVersionInfoSize As Long
        dwMajorVersion As Long
        dwMinorVersion As Long
        dwBuildNumber As Long
        dwPlatformId As Long
        szCSDVersion As String * 128
      End Type
 
      Private Declare Function GetVersionEx Lib "kernel32" _
         Alias "GetVersionExA" _
         (lpVersionInformation As OSVERSIONINFO) As Long
 
      Private Declare Sub keybd_event Lib "user32" _
         (ByVal bVk As Byte, _
          ByVal bScan As Byte, _
          ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
 
      Private Declare Function GetKeyboardState Lib "user32" _
         (pbKeyState As Byte) As Long
 
      Private Declare Function SetKeyboardState Lib "user32" _
         (lppbKeyState As Byte) As Long
 
      Const VK_CAPITAL = &H14
      Const KEYEVENTF_EXTENDEDKEY = &H1
      Const KEYEVENTF_KEYUP = &H2
      Const VER_PLATFORM_WIN32_NT = 2
      Const VER_PLATFORM_WIN32_WINDOWS = 1
 
   Private Sub Command1_Click()
      Dim o As OSVERSIONINFO
      Dim NumLockState As Boolean
      Dim ScrollLockState As Boolean
      Dim CapsLockState As Boolean
 
      o.dwOSVersionInfoSize = Len(o)
      GetVersionEx o
      Dim keys(0 To 255) As Byte
      GetKeyboardState keys(0)
 
      CapsLockState = keys(VK_CAPITAL)
 
      If CapsLockState = True Then ' Falls die Feststelltaste aktiv dann 
      ' auschalten
        If o.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS Then  ' Win95/98
          keys(VK_CAPITAL) = 0
          SetKeyboardState keys(0)
        ElseIf o.dwPlatformId = VER_PLATFORM_WIN32_NT Then   ' WinNT
          keybd_event VK_CAPITAL, &H45, KEYEVENTF_EXTENDEDKEY Or 0, 0
          keybd_event VK_CAPITAL, &H45, KEYEVENTF_EXTENDEDKEY Or _
            KEYEVENTF_KEYUP, 0
        End If
      End If
    End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Umschalttaste703Pauli16.04.07 10:49
Re: Umschalttaste497wincnc16.04.07 12:13
Klappt wunderbar! DANKE! oT419Pauli16.04.07 20:18

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-2024 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