Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 5 odgovora
  • 3.154 pregleda

Najnovija ↓

Pracenje tastature 02.12.2008. u 23:38 · pre 218 meseci #1
Naime o cemu se radi. Kako napraviti program koji ce pratiti sta se kuca na tastaturi? Znam sad ce odmah pojedinci skociti "Pravi ono sto se ne sme!" necu da kazem sta pa je manja mogucnost zloupotrebe ali znam da se razumemo. Imam jednu aplikaciju u koju se unose brojevi adresnica koje se zaduzuju i sada dalje se odvija jedna slozena aplikacija. Vremenom je uoceno da bi se ona mogla pospesiti uvodjenjem jos jednog dela ali firma koja ju je pravila je ugasena. E sad da bi ta nova aplikacija radila potrebni su joj podaci o tim ulaznima adresnicama tj podaci koja je sve adresnica unesena. Taj novi program bi mogao da prati sta se to unosi preko tastature i kada dobije taj podatak da ga dalje obradjuje. Samo da napomenem jos jednom da ne dodje do pogresnih odgovora pitanje je kako pratiti unos sa tastature ali ne u formi (form1) koju mi napravimo u VB nego unos uopste.
Code:

znaci ne koristi se 

Private Sub Form_KeyPress(KeyAscii As Integer)

End Sub

jer to nema veze sa nasom formom
Re: Pracenje tastature 03.12.2008. u 00:05 · pre 218 meseci #2
moras da se "zakacis" za tastaturu i cekas da te windows pozove kada se promeni stanje tastature (neki taster je pritisnut/opusten), samo proguglaj za "vb6 keyboard hook" i nacices resenje, recimo ovaj link moze da ti pomogne:

http://www.developer.com/net/vb/article.php/1502401
Potpis
rafforum.rs - Forum Računarskog Fakulteta
Re: Pracenje tastature 03.12.2008. u 09:48 · pre 218 meseci #3
Pronasao sam nesto ovako...
Code:

'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

'In a form, called Form1
Private Sub Form_Load()
    '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



Ovaj program proverava da li je pritisnut SHIFT+S i ako jeste to ispisuje na ekranu medjutim kada forma nije aktivna vec shoft+s ispisujem u npr notepadu onda ni program nije aktivan i ne proverava da li je to stisnuto?
Re: Pracenje tastature 03.12.2008. u 18:18 · pre 218 meseci #5
Pa jbg kad nisam bas sve skontao tamo pa sam nasao i ovaj hook i ima veze sa keybord pa sam pitao da li je to to i rekao da meni ne radi van forme. Sad cu pogledati ovo.
Re: Pracenje tastature 03.12.2008. u 19:09 · pre 218 meseci #6
E ovo je vec puno razumljivije. Hvala
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme