vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 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

Visual-Basic Einsteiger
Lösung 
Autor: Flaute-1A
Datum: 21.04.04 20:41

Hi

Hier di Lösung für Ctrl - S und Ctrl - A (unproffessionelle, aber läuft)

 'Form:
Private Sub Form_Load()
  ' Ersten Systemweiten eindeutigen Wert generieren lassen
  glHotKeyAtom = GlobalAddAtomA(CStr(&HBFFF))
  ' Hotkey systemweit registrieren.
  ' Hier "Strg + S"
 
   If RegisterHotKey(Me.hWnd, glHotKeyAtom, MOD_CONTROL, _
    VK_S) = 0 Then
 
    MsgBox "RegisterHotKey() fehlgeschlagen" & vbCr & _
      "Fehlercode: " & CStr(GetLastError()), vbExclamation
    End
  Else
  End If
    '############################################
 
    ' Zweiten Systemweiten eindeutigen Wert generieren lassen
  glHotKeyAtom = GlobalAddAtomA(CStr(&HBF))
 
  ' Hotkey systemweit registrieren.
  ' Hier "Strg + A"
 
  If RegisterHotKey(Me.hWnd, glHotKeyAtom, MOD_CONTROL, _
    VK_A) = 0 Then
 
    MsgBox "RegisterHotKey() fehlgeschlagen" & vbCr & _
      "Fehlercode: " & CStr(GetLastError()), vbExclamation
    End
  Else
    ' Wenn Hotkeys registriert werden konnten,
    ' wird jetzt die Fensterprozedur umgeleitet,
    ' um die WM_HOTKEY Message abfragen zu können
    glAddressOfHotKeyPrevWndProc = SetWindowLong(Me.hWnd, _
      GWL_WNDPROC, AddressOf HotkeyWndProc)
    End If
 
End Sub
 
 'Modul:
 
Option Explicit
 
Public Const WM_HOTKEY = &H312
Public Const GWL_WNDPROC = (-4)
Public Const MOD_ALT = &H1
Public Const MOD_CONTROL = &H2
Public Const MOD_SHIFT = &H4
Public Const VK_F12 = &H7B
Public Const VK_A = &H41
Public Const VK_S = &H53
 
Public Declare Function RegisterHotKey Lib "user32" _
  (ByVal hWnd As Long, ByVal id As Long, _
  ByVal fsModifiers As Long, ByVal vk As Long) As Long
 
Public Declare Function UnregisterHotKey Lib "user32" _
  (ByVal hWnd As Long, ByVal id As Long) As Long
 
Public Declare Function GetLastError Lib "kernel32" () _
  As Long
 
Public Declare Function SetWindowLong Lib "user32" _
  Alias "SetWindowLongA" (ByVal hWnd As Long, _
  ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
 
Public Declare Function CallWindowProc Lib "user32" _
  Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, _
  ByVal hWnd As Long, ByVal Msg As Long, _
  ByVal wParam As Long, ByVal lParam As Long) As Long
 
Public Declare Function GlobalAddAtomA Lib "kernel32" _
  (ByVal lpString As String) As Long
 
Public Declare Function GlobalDeleteAtom Lib "kernel32" _
  (nAtom As Long) As Long
 
Public glAddressOfHotKeyPrevWndProc As Long
Public glHotKeyAtom As Long
 
Public Function HotkeyWndProc(ByVal lHwnd As Long, _
  ByVal lMsg As Long, ByVal lwParam As Long, _
  ByVal lParam As Long) As Long
 
  If lMsg = WM_HOTKEY Then
    If lParam = "5439490" Then MsgBox "111111"
    If lParam = "4259842" Then MsgBox "222222"
  End If
 
  ' !WndProc aufrufen und Rückgabewert durchreichen!
  HotkeyWndProc = CallWindowProc(glAddressOfHotKeyPrevWndProc, _
    lHwnd, lMsg, lwParam, lParam)
End Function
Cu
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Mehrer Hotkeys registrieren467Flaute-1A19.04.04 22:11
Re: Mehrer Hotkeys registrieren333Anubis20.04.04 11:41
Lösung586Flaute-1A21.04.04 20:41
Re: Lösung311Anubis22.04.04 15:08

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