Visual C++ 7.1Windows VistaVisual C++ 7.0Visual Studio .NET 2003Windows 2003Windows 2000Visual C++ 6.0Windows XPMFC中级开发Visual StudioWindowsC++.NET
自动点击器 v1.0






3.44/5 (11投票s)
一个自动点击鼠标的程序。
引言
自动点击器 是一个自动点击鼠标的程序。它可以让鼠标在不需要用户手指酸痛的情况下点击。只需使用键盘上的 <SPACE> 键设置 X-Y 列表,设置点击间隔,点击 <开始> 按钮,然后就可以离开鼠标和键盘,让它自动点击鼠标。为了获得更快的自动点击速度,请尝试将点击间隔设置为一个较低的数字(毫秒)。要停止 自动点击器,只需按下键盘上的 <ESC> 键。自动点击器 可用于使重复点击更容易,但不应用于在在线游戏中作弊。自动点击器 是一个免费软件,易于使用,直观的程序,并且程序的源代码是开放的。
Using the Code
要构建此程序,您应该了解 mouse_event()
函数和钩子机制。从 MSDN,您可以了解更多关于 mouse_event()
函数如何合成鼠标移动和按钮点击的信息。
这些是此程序中使用 mouse_event()
的示例
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, GetMessageExtraInfo()); // Left Key Down
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, GetMessageExtraInfo()); // Left Key UP
mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, GetMessageExtraInfo()); // Right Key Down
mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, GetMessageExtraInfo()); // Right Key Up
为了在应用程序失去焦点时获得键盘消息,您需要使用钩子过程。
在 OnInitDialog()
中,使用了 SetWindowsHookEx()
,并且 SetWindowsHookEx
的 HookProc
使用如下
LRESULT CALLBACK HookMouseProc(int nCode, WPARAM wParam, LPARAM lParam)
{
HWND hwnd;
LRESULT lResult = 0;
if(nCode == HC_ACTION)
{
if(((EVENTMSG*)lParam)->message == VK_ESCAPE)
{
hwnd= ::FindWindow(NULL, strProgName);
::SendMessage(hwnd,WM_KEY_ESCAPE,1,1);
return 1;
}
else if(((EVENTMSG*)lParam)->message == VK_PAUSE)
{
hwnd=::FindWindow(NULL, strProgName);
::SendMessage(hwnd,WM_KEY_PAUSE,1,1);
return 1;
}
}
return CallNextHookEx( hHook, nCode, wParam, lParam);
}
如何使用
首先,您应该使用屏幕上的鼠标点填充 X-Y 列表框。只需在按键盘上的 <SPACE> 键的同时移动鼠标。当自动点击器工作时,如果想停止它,只需按键盘上的 <ESC> 键。如果按下键盘上的 [PAUSE] 键,您可以暂停自动点击器。您可以将 X-Y 列表保存到文件中,稍后使用 <保存> 和 <加载> 按钮从文件中加载它。
关注点
有人知道如何在不使用钩子机制的情况下构建这个程序吗?
历史
这是我为 http://www.softahead.com 撰写的第一篇文章。我的最新文章可在 这里 找到。