Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: *VB* näppäinyhdistelmät

The Znottari [24.09.2005 23:20:29]

#

Elikkä kuinka saa ohjelman suoltamaan tekstiä jos painaa esim. ctrl + alt + u?
Sen pitäisi toimia myös vaikka se ohjelma ei olisikaan päällimmäisenä. kiitos.

InvalidCo [24.09.2005 23:40:50]

#

Öhh... GetAsyncKeyStatella saisit varmaan jonkinlaisen virityksen...
Soodan tekemä GetAsyncKeyState-koodivinkki
Katot sitten vaan että onko ctrl pohjassa, jos on niin onko alt pohjassa, ja jos on niin katot onko u (tai jokin muu) pohjassa.

The Znottari [25.09.2005 11:17:49]

#

Miksi tämä ei toimi?

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Public Function NappiPohjassa(Nappi As Long)
    'jos funktion palautusarvon eniten merkitsevä bitti on päällä,
    'nappi on tällä hetkellä pohjassa
    NappiPohjassa = GetAsyncKeyState(Nappi) And &H8000

End Function

Public Function NappiPainettu(Nappi As Long)
    'jos funktion palautusarvon vähiten merkitsevä bitti on päällä,
    'nappia on painettu viime GetAsyncKeyState funkkarin kutsun jälkeen
    NappiPainettu = GetAsyncKeyState(Nappi) And 1

End Function

Private Sub Form_Load()

    Show
    NappiPainettu (&H10) 'preventtaa sen, että jos ennen ohjelman käynnistymistä on painanut
    Do
        DoEvents
        If NappiPainettu(&H7B) Then SendKeys "moi!", True
    Loop

End Sub

keinoihminen [25.09.2005 11:30:41]

#

Onko Formin KeyPreview arvo True ?

Tapsa84 [26.09.2005 10:02:31]

#

Private Sub nappi(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
if e.keycode = a then
messagebox.show("PLAA")
end if
End Sub

Ja tietysti Formin KeyPreview arvo pitää olla true.

Voi olla että helpottaa koodin kirjoitusta jos laittaa

imports system.windows.form

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta