Private Sub Form1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown If (e.KeyValue = 119) Then MsgBox("catchya") End If End Sub
Tämmöistä koodia käytän F8-näppäimen tunnistamiseen, mutta onko sitä mahdollista saada toimimaan myös silloin, kun tuo ohjelma ei ole aktivoituneena?
Ainakin WinAPIn funktiolla GetAsyncKeyState tunnistus onnistuu:
Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Integer) As Short Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick If GetAsyncKeyState(&H77) And 1 Then MsgBox("Painoit näppäintä F8!") End If End Sub
Lisätietoa:
http://msdn.microsoft.com/en-us/library/ms646293.aspx
Kiitos, mutta olen tekemässä screenshottausohjelmaa ja käyttäjän pitäisi pystyä vaihtamaan screenshotnäppäintä joka on juuri tuo, joten miten saa selville esim käyttäjän laittaman vaikka kirjaimen "j" tuon &H77 (hexa?)koodin?
Aihe on jo aika vanha, joten et voi enää vastata siihen.