|
You last visited: Today at 02:12
Advertisement
Timer mit F-Taste aktivieren? Visual Basic
Discussion on Timer mit F-Taste aktivieren? Visual Basic within the .NET Languages forum part of the Coders Den category.
03/19/2011, 19:54
|
#1
|
elite*gold: 0
Join Date: Jan 2011
Posts: 562
Received Thanks: 211
|
Timer mit F-Taste aktivieren? Visual Basic
Wie oben schon steht möchte ich wissen wie man einen Timer mit einer F-Taste aktiviert.
Also ich will ein Bot erstellen der soll automatisch klicken und will ihn mit einer Taste z.B. F5 Öffnen und mit F6 Stoppen.
Wer kann mir ein Code schicken?
|
|
|
03/19/2011, 20:00
|
#2
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
Hallo,
versuch mal^^:
PHP Code:
//Deklarationen: Private Declare Function RegisterHotKey Lib "user32" (ByVal hWnd As IntPtr, ByVal id As Integer, ByVal fsModifier As Integer, ByVal vk As Integer) As Integer Private Declare Sub UnregisterHotKey Lib "user32" (ByVal hWnd As IntPtr, ByVal id As Integer) Private Const Key_NONE As Integer = &H0 Private Const WM_HOTKEY As Integer = &H312
//Sub zum Auswerten: Protected Overrides Sub WndProc(ByRef m As Message) If m.Msg = WM_HOTKEY Then Select Case m.WParam Case 1 MessageBox.Show("F1!") Case 2 MessageBox.Show("F2!") Case 3 MessageBox.Show("F3!") End Select End If MyBase.WndProc(m) End Sub
//Im Load_Event setzt du die Hotkeys: RegisterHotKey(Me.Handle, 1, Key_NONE, Keys.F1) RegisterHotKey(Me.Handle, 2, Key_NONE, Keys.F2) RegisterHotKey(Me.Handle, 3, Key_NONE, Keys.F3)
//Beim Schließen (Form_Closing) wieder entfernen: UnregisterHotKey(Me.Handle, 1) UnregisterHotKey(Me.Handle, 2) UnregisterHotKey(Me.Handle, 3)
Viel Spaß!
|
|
|
03/19/2011, 20:23
|
#3
|
elite*gold: 0
Join Date: Jan 2011
Posts: 562
Received Thanks: 211
|
Okay Danke erzähl mal wie man da jetzt die Hotkeys verstellt z.B. bei 1ner Form F1 für Timer und bei der anderen F5 für Timer
|
|
|
03/19/2011, 20:35
|
#4
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
Ehh..was?
Wenn du dir den Code wenigstens anschauen würdest, würdest du wissen, wie du das machst. Im Load_Event setzt du halt F1 & F5. Dann in der WndProc-Sub beim Case was halt passieren soll..machst das MessageBox.Show(...) weg und fügst halt Timer1.Start() ein...
|
|
|
03/19/2011, 20:43
|
#5
|
elite*gold: 0
Join Date: Jan 2011
Posts: 562
Received Thanks: 211
|
Okay Danke ja ich hab ihn mir angeguckt hab nur nich richtig durchgelesen.
|
|
|
03/21/2011, 13:19
|
#6
|
elite*gold: 0
Join Date: Jan 2011
Posts: 182
Received Thanks: 14
|
Quote:
Originally Posted by Fisticuff
Hallo,
versuch mal^^:
PHP Code:
//Deklarationen:
Private Declare Function RegisterHotKey Lib "user32" (ByVal hWnd As IntPtr, ByVal id As Integer, ByVal fsModifier As Integer, ByVal vk As Integer) As Integer
Private Declare Sub UnregisterHotKey Lib "user32" (ByVal hWnd As IntPtr, ByVal id As Integer)
Private Const Key_NONE As Integer = &H0
Private Const WM_HOTKEY As Integer = &H312
//Sub zum Auswerten:
Protected Overrides Sub WndProc(ByRef m As Message)
If m.Msg = WM_HOTKEY Then
Select Case m.WParam
Case 1
MessageBox.Show("F1!")
Case 2
MessageBox.Show("F2!")
Case 3
MessageBox.Show("F3!")
End Select
End If
MyBase.WndProc(m)
End Sub
//Im Load_Event setzt du die Hotkeys:
RegisterHotKey(Me.Handle, 1, Key_NONE, Keys.F1)
RegisterHotKey(Me.Handle, 2, Key_NONE, Keys.F2)
RegisterHotKey(Me.Handle, 3, Key_NONE, Keys.F3)
//Beim Schließen (Form_Closing) wieder entfernen:
UnregisterHotKey(Me.Handle, 1)
UnregisterHotKey(Me.Handle, 2)
UnregisterHotKey(Me.Handle, 3)
Viel Spaß!
|
kannst du mal ein tut machen?
|
|
|
03/21/2011, 14:27
|
#7
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
Quote:
Originally Posted by crossfireXfreak
kannst du mal ein tut machen?
|
Wie meinst du, ein Tut?
Verstehst du nicht wie du es weiter ausbauen kannst, oder war die Frage eher anders gemeint...?
|
|
|
03/21/2011, 18:37
|
#8
|
elite*gold: 0
Join Date: Jan 2011
Posts: 182
Received Thanks: 14
|
Quote:
Originally Posted by Fisticuff
Wie meinst du, ein Tut?
Verstehst du nicht wie du es weiter ausbauen kannst, oder war die Frage eher anders gemeint...?
|
könntest du einfach ein video machen und zeigen wie man des macht ich kenn mich net so gut aus .
|
|
|
03/21/2011, 20:49
|
#9
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
Hm..naja eigentlich steht da doch schon alles. Also:
Ersteinmal brauchst du diese Funktionen & Variablen (kannst einfach so kopieren - musst nichts ändern):
PHP Code:
Private Declare Function RegisterHotKey Lib "user32" (ByVal hWnd As IntPtr, ByVal id As Integer, ByVal fsModifier As Integer, ByVal vk As Integer) As Integer Private Declare Sub UnregisterHotKey Lib "user32" (ByVal hWnd As IntPtr, ByVal id As Integer) Private Const Key_NONE As Integer = &H0 Private Const WM_HOTKEY As Integer = &H312
Diese fügst du z.B. unter "Public Class *NameDerKlasse*"
So, dann fügst du deiner eigenen Form Hotkeys hinzu indem du das Handle deiner Form benutzt (Me.Handle) - am besten fügst du sie gleich beim Starten der Form hinzu, also in das Form_Load-Ereignis. Dazu benutzt du die zuvor oben deklarierte "RegisterHotKey"-Funktion:
PHP Code:
Private Sub DeineForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DeineForm.Load RegisterHotKey(Me.Handle, 1, Key_NONE, Keys.F1) End Sub
Da wo die 1 steht, kannst du egal welche Zahl einfügen, musst diese später aber wieder benutzen. Als letzten Parameter sagst du deinem Programm für welche Taste das gilt. Also z.B. "Keys.F1", "Keys.F2", "Keys.A", "Keys.B"...
Das ganze kannst du jetzt für alle Tasten die du willst machen:
PHP Code:
RegisterHotKey(Me.Handle, 1, Key_NONE, Keys.F1) RegisterHotKey(Me.Handle, 2, Key_NONE, Keys.F2) RegisterHotKey(Me.Handle, 3, Key_NONE, Keys.F3) RegisterHotKey(Me.Handle, 4, Key_NONE, Keys.A) RegisterHotKey(Me.Handle, 5, Key_NONE, Keys.B) RegisterHotKey(Me.Handle, 6, Key_NONE, Keys.C) ...
So, dann brauchst du noch die Sub, die auf deine Hotkeys reagiert, nämlich die überschriebene "WndProc":
PHP Code:
Protected Overrides Sub WndProc(ByRef m As Message) If m.Msg = WM_HOTKEY Then //prüfen ob die "Nachricht" ein Hotkey ist Select Case m.WParam //wenn es ein Hotkey ist, dann wird mit einer Select-Anweisung geprüft, welches Hotkey das war, dazu benutzt du diese Zahlen von denen ich oben gesprochen habe (in meinem Beispiel war halt die Zahl 1 für die Taste F1 und die Zahl 2 für die Taste F2..) Case 1 //wenn Zahl 1 MessageBox.Show("F1!") //hier kannst du halt angeben was passieren soll. Case 2 //wenn Zahl 2 MessageBox.Show("F2!") Case 3 //wenn Zahl 3 MessageBox.Show("F3!") End Select End If MyBase.WndProc(m) End Sub
So, und zum Schluss entfernst du die gesetzten Hotkeys einfach wieder, z.B. im Form_Closing-Ereignis (wenn du deine Form schließt):
PHP Code:
Private Sub DeineForm_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles DeineForm.FormClosing //hier benutzt du die oben deklarierte Funktion "UnregisterHotKey" UnregisterHotKey(Me.Handle, 1) //hier deine Zahl wieder angeben UnregisterHotKey(Me.Handle, 2) ... End Sub
Hier nochmal der gesamte Code (Formname etc. wurde nicht geändert - standard Projekt halt^^). Erstell einfach mal ein neues Projekt, geh in das Codefenster, lösche alles und füg das ein:
PHP Code:
Public Class Form1 Private Declare Function RegisterHotKey Lib "user32" (ByVal hWnd As IntPtr, ByVal id As Integer, ByVal fsModifier As Integer, ByVal vk As Integer) As Integer Private Declare Sub UnregisterHotKey Lib "user32" (ByVal hWnd As IntPtr, ByVal id As Integer) Private Const Key_NONE As Integer = &H0 Private Const WM_HOTKEY As Integer = &H312
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load RegisterHotKey(Me.Handle, 1, Key_NONE, Keys.F1) RegisterHotKey(Me.Handle, 2, Key_NONE, Keys.F2) RegisterHotKey(Me.Handle, 3, Key_NONE, Keys.F3) End Sub
Protected Overrides Sub WndProc(ByRef m As Message) If m.Msg = WM_HOTKEY Then Select Case m.WParam Case 1 MessageBox.Show("Die Taste F1 wurde gedrückt!") Case 2 MessageBox.Show("Die Taste F2 wurde gedrückt!") Case 3 MessageBox.Show("Die Taste F3 wurde gedrückt!") End Select End If MyBase.WndProc(m) End Sub
Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing UnregisterHotKey(Me.Handle, 1) UnregisterHotKey(Me.Handle, 2) UnregisterHotKey(Me.Handle, 3) End Sub End Class
Ein Video kann ich zurzeit nicht machen, hab dafür nicht besonders viel Zeit bzw. Lust..hoffe das hier kann dir auch weiterhelfen.
|
|
|
Similar Threads
|
KI und Visual Basic?
12/04/2010 - .NET Languages - 9 Replies
Hi,
ist es möglich in Visual Basic eine einfache KI für ein Tic Tac Toe Spiel zu machen?
Gruss
|
Visual C++ (C++), Visual Basic, oder AutoIT?
06/24/2010 - .NET Languages - 11 Replies
Hallo Zusammen
Ich würde gerne mit dem Programmieren anfangen.
Meine Vorstellungen:
Es müsste möglich sein, eigene Programme zu schreiben wie z. B. MSN, Emule oder ähnliches. Natürlich nie in dieser Grösse nur als Beispiel.
Als weiteres sollte mit der gleichen Programmiersprache auch die Möglichkeit bestehen einen WoW Bot zu schreiben. Habe gehört die meisten Bots sind in Auto IT geschrieben. Gibt es unterschiede wegen des Warden schutzes oder kommt es nicht darauf an?
|
VB.Net- Visual basic
09/04/2008 - CO2 Programming - 2 Replies
Any 1 know what code I would need to write to have my program I create
attach to the process and scan for a process?
Thanx much....peace :handsdown:
|
All times are GMT +1. The time now is 02:13.
|
|