Vollständige Version anzeigen : [Visual Basic] GetAsyncKey State Problem


Megalomaniac
16.03.2010, 23:24
Hey Leute,

komm grad nicht weiter und kann mir nicht erklären worans liegt.
Wollte mal ne Idee zu globalen hotkeys realisieren und bin nun bei VB gelandet, hab davor nicht wirklich was damit programmiert. Sonst nur Java und C.

Was nich funzt:
möchte mit dem zweiten Timer das steuern des ersten Timers (fragt ab ob taste gedrückt ist und führt dan SendKeys aus/nicht aus - funzt auch wunderbar!) erreichen. Sprich wenn ich ne Taste drücke, stelle ich den ersten Timer auf Enabled False oder True! Aber genau das macht er nicht. An der Taste ansich liegts nicht die nimmt er schon.. Jemand ne Idee?

Greetz:.
Timer1:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

If CheckBox1.Checked = False Then
If CBool(GetAsyncKeyState(CLng(Asc(TextBox1.Text))) And 32768) = True Then SendKeys.Send(TextBox2.Text)
Else
If CBool(GetAsyncKeyState(CLng(TextBox1.Text)) And 32768) = True Then SendKeys.Send(Chr(CInt(TextBox2.Text)))
End If
End Sub

Timer2:
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
Timer2.Enabled = True
Timer2.Interval = CInt(TextBox3.Text)
If CBool(GetAsyncKeyState(VK_DELETE) = True) Then Timer1.Enabled = False
If CBool(GetAsyncKeyState(VK_END) = True) Then Timer1.Enabled = True
End Sub
End Class

pyro
17.03.2010, 10:24
Mal ne Frage, wenn du schon C kannst, warum zur Hölle verwendest du dann auf einmal VB? Glaubst du in C kann man nicht das machen, was man in VB kann? Eher andersrum.

Die Funktion "GetAsyncKeyState" ist eine WinAPI-Funktion. Und die WinAPI ist in C geschrieben. Es wäre daher angebracht, C zu verwenden, bevor du ne neue Sprache lernst.

Hardwarehunger
17.03.2010, 10:54
vlt hat er c nie wirklich gelernt und findet die timer in vb so simpel und praktisch - für nen neuen thread mit ner schleife und dem weiteren gedöns (gettickcount, sleep) ist er sich wohl zu schade

Timer2.Enabled = True 'sinnlos
hast du Timer1 auch nen intervall gegeben

whenyouDIE
17.03.2010, 14:28
Lasstn halt wenn ihm VB mehr spaß macht jedem das seine, oder er will die sprache einfach mal nur ausprobieren...


haste des hier gemacht?

Timer1.Start bzw Timer1.Stop?

sonst fängt dein Ticker nie an.

Was nich funzt:
möchte mit dem zweiten Timer das steuern des ersten Timers (fragt ab ob taste gedrückt ist und führt dan SendKeys aus/nicht aus - funzt auch wunderbar!) erreichen. Sprich wenn ich ne Taste drücke, stelle ich den ersten Timer auf Enabled False oder True! Aber genau das macht er nicht. An der Taste ansich liegts nicht die nimmt er schon.. Jemand ne Idee?

versteh ich so dass dein Timer nicht anspringt?
dann musste ihn auch noch starten ;) so wie oben

mfg

Hardwarehunger
17.03.2010, 14:47
If CBool(GetAsyncKeyState(VK_DELETE) = True) Then Timer1.Enabled = False
If CBool(GetAsyncKeyState(VK_END) = True) Then Timer1.Enabled = True

haste des hier gemacht?

Timer1.Start bzw Timer1.Stop?

Lasstn halt wenn ihm VB mehr spaß macht jedem das seine, oder er will die sprache einfach mal nur ausprobieren...

und du solltest sie erstmal beherrschen

Megalomaniac
17.03.2010, 16:48
Hey, wollt niemandem hier zu nah treten (hab so den Eindruck).
Ich behersche weder C noch VB, hatte nur keine wirkliche Vorstellung wie ich Globale Hotkeys in C realisieren sollte, daher VB - schadet ja auch nicht sich in andere Sprachen rein zu finden? Schleife und weiteres Gedöns bin ich mir zu schade? Hierzu muss ich mich wohl nicht äußern? Wenn Ihr mir schon C so ans Herz legt, dan macht doch mal n Ansatz?

Hardwarehunger
17.03.2010, 17:21
mach lieber gleich cpp und benutz registerhotkey:
http://msdn.microsoft.com/en-us/library/ms646309%28VS.85%29.aspx

Megalomaniac
17.03.2010, 22:57
Gut, vielleicht ist die erste Wahl auf VB etwas ungünstig gefallen. Cpp wollte Ich mir auch mal anschauen, zwar erst wenn die anderen Sachen sitzen aber gut.. Danke für den Tipp werd ich mir anschauen. Und mein Bsp ist nix Wert? Lag ich mit meiner Idee komplett daneben?

raid-rush
17.03.2010, 22:57
Alle Posts zum Thema [Visual Basic] GetAsyncKey State Problem, stammen von Mitgliedern des Forums.

[Visual Basic] GetAsyncKey State Problem

raid-rush.ws pr