• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Problema risolto Hotkeys

ALEXREP

Utente Normale
Autore del topic
24 Gennaio 2012
54
0
Miglior risposta
0
Come faccio a inserire hotkeys in un programma che ho creato con visual bAsic?
 
Riferimento: Come faccio?

con la funzione GetAsyncKeyState:
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Integer

poi inserisci un timer con intervallo 1 e enabled su true e nella sua proprietà tick scrivi:
Dim hotkey As Boolean
hotkey = GetAsyncKeyState(Keys.TASTOCHEVUOI)
If hotkey = True Then FAQUELLOCHEVUOI
 
Riferimento: Come faccio?

Sposto in Assistenza Tecnica, rinomino e avverto per titolo non consono. :emoji_smiley:
 
Riferimento: Hotkeys

dove devo inserire il primo codice?
--------------- AGGIUNTA AL POST ---------------
ho inserito così:


Public Class Form1
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Integer
Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Private Const mouseclickup = 4
Private Const mouseclickdown = 2
End sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Windows.Forms.Cursor.Position = New System.Drawing.Point(Windows.Forms.Cursor.Position)
mouse_event(mouseclickdown, 0, 0, 0, 0)
mouse_event(mouseclickup, 0, 0, 0, 0)
Timer1.Enabled = True
Timer1.Interval = TextBox1.Text
Dim hotkey As Boolean
hotkey = GetAsyncKeyState(Keys.F2)
If hotkey = True Then Timer1.Start()
End Sub
End Class

Ho messo bene ?Perchè non va!
 
Ultima modifica:
Riferimento: Hotkeys

no
Dim hotkey As Boolean
hotkey = GetAsyncKeyState(Keys.F2)
If hotkey = True Then Timer1.Start()
questo va messo in un nuovo timer che deve essere impostato così:
enabled=true
interval=1
prova e fammi sapere

comunque aggiusta il codice del timer1, il resto non serve (stai facendo un autoclick vero?):

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Timer1.Interval = TextBox1.Text
mouse_event(mouseclickdown, 0, 0, 0, 0)
mouse_event(mouseclickup, 0, 0, 0, 0)
End Sub
 
Ultima modifica:
Riferimento: Hotkeys

Scs me lo potresti impostare tu il codice e poi vedo come hai ftt?
--------------- AGGIUNTA AL POST ---------------
AH QUANO APRO IL DEBUG PER VEDERE SE HO FTT BENE SI METTE SOTTO IL PROGRAMMA NEL MENù E SI BLOCCA,INVECE QUANDO SALVO TUTTO E LO APRO NORMALMENTE MI DA ERRORE NET fRAMEWORK!
 
Ultima modifica:
Riferimento: Hotkeys

quando si blocca si seleziona una riga gialla, dimmi quale e l'errore, oppure usiamo skype
 
Riferimento: Hotkeys

Mi seleziona una riga gialla. lleggi sotto.
--------------- AGGIUNTA AL POST ---------------
io quando apro il debug,mi seleziona una riga gialla = Timer1.Interval = TextBox1.Text
 
Ultima modifica:
Riferimento: Hotkeys

puoi fare uno screen all'errore? comunque penso di aver capito, hai sbagliato a scrivere il codice, sicuramente hai impostato il timer1 enabled=true e all'avvio quando va a impostre l'intervallo se nella textbox non c'è scritto niente va in errore
 
Riferimento: Hotkeys

ok allora segui quello che ti dico

-Timer1:
enabled=false

codice:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Timer1.Interval = TextBox1.Text
mouse_event(mouseclickdown, 0, 0, 0, 0)
mouse_event(mouseclickup, 0, 0, 0, 0)
End Sub

-Crea un altro timer e impostalo così
enabled=true
interval=1

codice:
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
Dim hotkey As Boolean
hotkey = GetAsyncKeyState(Keys.F2)
If hotkey = True Then Timer1.Start()
end sub

prova e fammi sapere, se non hai capito qualcosa aggiungimi su skype: "Grimpowa"
P.S. per gli errori che hai fatto significa che non stai capendo niente di quello che fai, se ti serve solo un autoclick dimmelo che ti passo il mio.
 
Riferimento: Hotkeys

ora mi sottolinea una riga verde: hotkey = GetAsyncKeyState(Keys.F2)
--------------- AGGIUNTA AL POST ---------------
ora mi funziona f2 ma vorrei sapere come faccio a mettere f3 che ferma devo creare un altro timer...??
--------------- AGGIUNTA AL POST ---------------
Grz a tutti ^^ problema risolto ^^
 
Ultima modifica: