Avatar billede lillholm Nybegynder
01. juni 2004 - 23:54 Der er 3 kommentarer og
2 løsninger

keypress anywhere

Jeg har et lille problem...

Jeg har et lille program som laver nogen smarte genveje. Det program skal kunne virke med de genveje selv om min form ikke er makeret.....

Saa hvis jeg fx sider i en internet explore og jeg trykker "y" saa kan min form fatte det ?


Jeg har faaet den til at forstaa det men lige saa snart min form ikke er makeret sker der ikke rigtig noget...

nogen ide paa hvad man kunne goere ?
Avatar billede lillholm Nybegynder
02. juni 2004 - 11:44 #2
sjh:

Det virker som godt nok men stadig naar winduet ikke er i fokus virker det ikke..... :(

maaske bare mig der fucker et eller andet ?
har stortset bare copy paste den kode du har linket til oven over men her er den for sjov :)

------form1-------
'In a form, called Form1
Private Sub Form_Load()
    'KPD-Team 2000
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    'set a keyboard hook
    hHook = SetWindowsHookEx(WH_KEYBOARD, AddressOf KeyboardProc, App.hInstance, App.ThreadID)
End Sub
Private Sub Form_Unload(Cancel As Integer)
    'remove the windows-hook
    UnhookWindowsHookEx hHook
End Sub
------end-form1------

----module1------
'In a module
Public Const WH_KEYBOARD = 2
Public Const VK_SHIFT = &H10
Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long
Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
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
Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Public hHook As Long
Public Function KeyboardProc(ByVal idHook As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    'if idHook is less than zero, no further processing is required
    If idHook < 0 Then
        'call the next hook
        KeyboardProc = CallNextHookEx(hHook, idHook, wParam, ByVal lParam)
    Else
        'check if SHIFT-S is pressed
        If (GetKeyState(VK_SHIFT) And &HF0000000) And wParam = Asc("S") Then
            'show the result
            Form1.Print "Shift-S pressed ..."
        End If
        'call the next hook
        KeyboardProc = CallNextHookEx(hHook, idHook, wParam, ByVal lParam)
    End If
End Function
----end-module1----
Avatar billede sjh Nybegynder
02. juni 2004 - 15:00 #3
Avatar billede lillholm Nybegynder
04. juni 2004 - 00:05 #4
lige hvad jeg soegte.....

mange tak for hjaelpen sjh..
Avatar billede sjh Nybegynder
04. juni 2004 - 01:30 #5
Det var så lidt.. tak for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester