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

Suche Visual-Basic Code
Re: Wie fängt man Media_Keys ab? 
Autor: da_hoschla
Datum: 16.12.05 12:34

moin,

da ich die tasten frei belegen möchte und nicht schon vorher wissen will, ob der gedrückte knopf play, stop, pause usw. ist, gefällt mir (wenn schon mit hook's arbeiten) folgende version besser:

form:

Option Explicit
 
Private Sub Form_Load()
    Hook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf KeyboardProc, _
      App.hInstance, ByVal 0&)
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
    UnhookWindowsHookEx Hook
End Sub
modul:

Option Explicit
 
Public Const WH_KEYBOARD_LL = 13
Private Const HC_ACTION = 0&        ' Message received by our hook function
 
Private Type KBDLLHOOKSTRUCT
    vkCode As Long      ' virtual key code
    scanCode As Long    ' scan code
    flags As Long       ' flags
    time As Long  ' time stamp for this message
    dwExtraInfo As Long ' extra info from the driver or keybd_event
End Type
 
Public Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _
  (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal _
  dwThreadId As Long) As Long
Public Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) _
As Long
 
Private Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, _
  ByVal nCode As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDest As _
Any, pSrc As Any, ByVal ByteLen As Long)
 
Private kbstruct As KBDLLHOOKSTRUCT
 
Public Hook As Long
 
Public Function KeyboardProc(ByVal nCode As Long, ByVal wParam As Long, ByVal _
  lParam As Long) As Long
    If nCode = HC_ACTION Then
        CopyMemory kbstruct, ByVal lParam, LenB(kbstruct)
        Debug.Print kbstruct.scanCode
    End If
    KeyboardProc = CallNextHookEx(Hook, nCode, wParam, lParam)
End Function
leider führt windows trotzdem die standard-funktionen der tasten aus.
weiß jemand, wie man das unterbinden kann? am besten ohne in der registry rumfuschen zu müssen.

grüße

da_hoschla
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Wie fängt man Media_Keys ab?1.482furious07.08.04 15:50
Re: Wie fängt man Media_Keys ab?1.095CyberDreams10.08.04 16:31
Re: Wie fängt man Media_Keys ab?1.259furious10.08.04 18:45
Re: Wie fängt man Media_Keys ab?1.149yeli09.11.05 13:37
Re: Wie fängt man Media_Keys ab?936da_hoschla16.12.05 12:34

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