Non ho mai utilizzato le api in vb.net:
Volevo sapere se sbaglio nel dichiarare l' API o se l' errore dipende da altro.
Questo è il codice:
* Quando chiamo la funzione con GetAsyncKeyState ottengo questo errore:codice:Public Class Form1 'E' giusta qui la dichiarazione? Private Declare Function GetAsyncKeyState Lib "user32" Alias "GetAsyncKeyState" (ByVal vKey As Long) As Integer Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Dim R As Integer R = GetAsyncKeyState(Keys.CapsLock) 'qui mi da l' errore * If R < 0 Then MsgBox("CapsLock è Attivato") End Sub End Class
Qualcuno mi può aiutare?Una chiamata alla funzione PInvoke 'prjGetAsyncKeyState!prjGetAsyncKeyState.Form1::Ge tAsyncKeyState' ha sbilanciato lo stack. Questo problema può verificarsi quando la firma PInvoke gestita non corrisponde alla firma di destinazione non gestita. Verificare che la convenzione di chiamata e i parametri della firma PInvoke corrispondano alla firma di destinazione non gestita.![]()

Rispondi quotando