Hi, ich habe ein Programm geschrieben, dass mehrere Linksklicks ausführen soll.
Soweit wie ich es bisher hab, klickt es andauernd an der Stelle, wo man die Maus hinbewegt.
Man kann über den Global Hotkey "Q" zu jeder Zeit (also auch bei inaktivem Fenster) das Klicken an/abschalten.
Ich möchte aber, dass es sobald ich Q drücke die Stelle merkt an der der Zeiger war und immer dort klickt. Meiner Meinung nach hab ich das auch so gecodet aber es funktioniert weiter wie bisher. (Also klickt immer da, wo man die Maus hinbewegt)
Könnte da mal jemand drüber schauen bitte?
Programm ist im Anhang zu finden und hier mal die mMn relevanten Teile des Codes:
(Die Hotkey Klasse [siehe Anhang] hab ich mir lediglich aus dem Netz gezogen, ist aber mMn nicht relevant)
Anhang anzeigen clicker.zip
Soweit wie ich es bisher hab, klickt es andauernd an der Stelle, wo man die Maus hinbewegt.
Man kann über den Global Hotkey "Q" zu jeder Zeit (also auch bei inaktivem Fenster) das Klicken an/abschalten.
Ich möchte aber, dass es sobald ich Q drücke die Stelle merkt an der der Zeiger war und immer dort klickt. Meiner Meinung nach hab ich das auch so gecodet aber es funktioniert weiter wie bisher. (Also klickt immer da, wo man die Maus hinbewegt)
Könnte da mal jemand drüber schauen bitte?
Programm ist im Anhang zu finden und hier mal die mMn relevanten Teile des Codes:
(Die Hotkey Klasse [siehe Anhang] hab ich mir lediglich aus dem Netz gezogen, ist aber mMn nicht relevant)
Code:
public partial class Form1 : Form
{
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint cButtons, uint dwExtraInfo);
private const int MOUSEEVENTF_LEFTDOWN = 0x02;
private const int MOUSEEVENTF_LEFTUP = 0x04;
private const int MOUSEEVENTF_RIGHTDOWN = 0x08;
private const int MOUSEEVENTF_RIGHTUP = 0x10;
globalKeyboardHook hook;
int X, Y, i=0,j=2;
uint A, B;
public Form1()
{
InitializeComponent();
hook = new globalKeyboardHook();
hook.HookedKeys.Add(Keys.Q);
hook.KeyDown += new KeyEventHandler(hook_KeyDown);
hook.KeyUp += new KeyEventHandler(hook_KeyUp);
hook.hook();
}
void hook_KeyUp(object sender, KeyEventArgs e)
{
if (j % 2 == 0)
{
X = Cursor.Position.X;
Y = Cursor.Position.Y;
A = Convert.ToUInt32(X);
B = Convert.ToUInt32(Y);
timer2.Start();
}
else
{
timer2.Stop();
}
e.Handled = true;
j++;
}
public void DoMouseClick()
{
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, A, B, 0, 0);
}
private void timer2_Tick(object sender, EventArgs e)
{
DoMouseClick();
}
Anhang anzeigen clicker.zip