if getasynckeystate(keys.control) werkt niet

Status
Niet open voor verdere reacties.

pontoe

Gebruiker
Lid geworden
9 jan 2008
Berichten
351
ey all,
ik probeer een cheatprogramma te maken, die, als je bijvoorbeeld f5 indrukt, een cheat zegt (dus dat hij bijvoorbeeld 'hello' typt), maar bij ctrl+f5 moet hij wat anders zeggen. ik heb nu dit:
Code:
Public Class Form1
    Dim result As Long
    Dim cheat1 As String
    Dim cheat2 As String
    Dim cheat3 As String
    Dim cheat4 As String
    Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim i As Integer
        For i = 1 To 255
            result = 0
            result = GetAsyncKeyState(i)
            If result = -32767 Then
                If GetAsyncKeyState(Keys.Control) Then
                    If i = 116 Then
                        SendKeys.Send(cheat1)
                    ElseIf i = 117 Then
                        SendKeys.Send(cheat2)
                    ElseIf i = 118 Then
                        SendKeys.Send(cheat3)
                    ElseIf i = 119 Then
                        SendKeys.Send(cheat4)
                    End If
                End If
            End If
        Next i
    End Sub

    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick

    End Sub

    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        cheat1 = TextBox1.Text
        cheat2 = TextBox2.Text
        cheat3 = TextBox3.Text
        cheat4 = TextBox4.Text
        Timer1.Enabled = True
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Timer1.Enabled = False
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub
End Class
maar zelfs als ik control indruk en dan op f5 druk, doet hij niets. zonder dat stukje van control werkt het wel. straks moet hij ook dingen gaan typen als ctrl niet ingedrukt is, maar dat komt later wel. help!

edit: laat maar, ik heb eindelijk een voorbeeld gevonden en heb nu
If GetAsyncKeyState(17) Then
ipv
If GetAsyncKeyState(Keys.Control) Then
.
 
Laatst bewerkt:
wat wel handiger is voor dat if then else if, else if etc is Select.
ff een voorbeeldje: textbox.text checken:

Code:
[FONT="Courier New"][COLOR="Blue"]Select Case[/COLOR] TextBox.Text
        [COLOR="Blue"]Case[/COLOR] [COLOR="DarkRed"]"BlaBla"[/COLOR]
              [COLOR="SeaGreen"]'Hier code[/COLOR]
        [COLOR="Blue"]Case [/COLOR][COLOR="DarkRed"]"Tekst"[/COLOR]
              [COLOR="SeaGreen"]'Hier de andere code[/COLOR]
        [COLOR="Blue"]Case [/COLOR][COLOR="DarkRed"]"Onzin"[/COLOR]
             [COLOR="SeaGreen"] 'Hier weer een andere code[/COLOR]
[COLOR="Blue"]End Select[/COLOR][/FONT]

Snap je het?
 
Laatst bewerkt:
ja, zoiets heb ik idd wel gelezen ergens... werkt dit ook in vb 08? en is dit sneller/slomer dan elseif elseif etc. als je erg grote lappen code hebt? alvast erg bedankt voor de suggestie!
 
het is een 'stuk' sneller dan een grote if-loop. Bovendien ziet het er chiller uit (in code, tenminste, dat vind ik)

en ja, het werkt ook ik 08.





Je code:
Code:
                    If i = 116 Then
                        SendKeys.Send(cheat1)
                    ElseIf i = 117 Then
                        SendKeys.Send(cheat2)
                    ElseIf i = 118 Then
                        SendKeys.Send(cheat3)
                    ElseIf i = 119 Then
                        SendKeys.Send(cheat4)
                    End If
word dan
Code:
select case i
   case 116
      SendKeys.Send(cheat1)
   case 117
      SendKeys.Send(cheat2)
   case 118
      SendKeys.Send(cheat3)
   case 119
      SendKeys.Send(cheat4)
end select
 
kk bedankt! ik zal het morgen proberen want nu moet ik weg :P
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan