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.
Ö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.
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
Onko Formin KeyPreview arvo True ?
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
Aihe on jo aika vanha, joten et voi enää vastata siihen.