Не давно мне понадобился авто кликер, для одной онлайн игрушки
Я написал себе эту программу, и решил поделиться с вами.
думаю начнем....
Для начала кидаем на форму: 3 Edita, 2 buttona, 3 Timerа, и 1 CheckBox.
Первые 2 Edit'a будут координатоми мыши(X,Y)
3-й Edit - Интервал клика.
1 Button - Старт.
2 Button - Стоп.
CheckBox - Поверх всех окон.
Начинаем кодить:
Timer1:
Код:
var
p: TPoint;
begin
GetCursorPos(p);
Edit1.Text:= IntToStr(p.X);
Edit2.Text:= IntToStr(p.Y);
На таймере поставьте "Интервал" - "1".
Timer2:
Код:
if getasynckeystate($11)<>0 then begin //Если нажат Ctrl, то ....
Timer1.Enabled:=False;
Timer2.Enabled:=False;
Это у нас будет фиксироваться Timer1, что бы когда программа кликала, мышка не отодвинулась
Timer3:
Для начала по поставьте в нем настройки: Enabled - False.
Код:
var
position: TPoint;
begin
if getasynckeystate($20)<>0 then begin // Если нажат пробел, то перестать кликать
Timer1.Enabled:=True;
Timer2.Enabled:=True;
Timer3.Enabled:=False;
button1.Enabled:=True;
button2.Enabled:=False;
end
else begin
SetCursorPos(StrToInt(Edit1.text),StrToInt(Edit2.text));
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
Button1(Тобиш "Начать или Старт"
Код:
if Edit3.Text='' then
showmessage('Не заполнено поле "Задержка"!')
else begin
Timer3.Interval:=StrToInt(Edit2.Text);
Timer3.Enabled:=True;
button1.Enabled:=False;
button2.Enabled:=True;
Хм, реализовывать горячие клавиши через таймер не ок
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Button1(Тобиш "Начать или Старт"
Код:
if Edit3.Text='' then
showmessage('Не заполнено поле "Задержка"!')
else begin
Timer3.Interval:=StrToInt(Edit2.Text);
Timer3.Enabled:=True;
button1.Enabled:=False;
button2.Enabled:=True;
Грубая ошибка.
Timer3.Interval:=StrToInt(Edit2.Text); не верно
Timer3.Interval:=StrToInt(Edit3.Text); верно.
А то сижу и думаю, где же в коде использование Edit3 кроме проверки на пустоту.
И ещё, для простоты лучше делать Timer3.Interval:=(StrToInt(Edit3.Text))*1000;
А вообще спасибо большое, хороший и главное простой код.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
Пишу софт на заказ(Delphi / C# / PHP-скрипты). Описывайте задачи и цели софта, сообщайте сумму на которую рассчитываете.
Skype: vinozavr (Молдова)
Кто плюсует популярность, подписывайтесь пожалуйста)
При таком способе за компьютером работать будет невозможно. Подобные вещи стоит делать через хэндлы, и не кликом мыши, а посылкой сообщения приложению.
При таком способе за компьютером работать будет невозможно. Подобные вещи стоит делать через хэндлы, и не кликом мыши, а посылкой сообщения приложению.
Буду премного благодарен, если сможете тут написать простой исходник автокликера методом который вы описываете.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
Пишу софт на заказ(Delphi / C# / PHP-скрипты). Описывайте задачи и цели софта, сообщайте сумму на которую рассчитываете.
Skype: vinozavr (Молдова)
Кто плюсует популярность, подписывайтесь пожалуйста)
Выполняю всё действия но в главной переменной как всегда ошибки , но и это ещё не всё после 2 кодов в тимере у меня возникает 3 ошибки и последние на 3 тимир вопще нельзя не чего добавить Enabled – False и в чем проблема.?
Последний раз редактировалось SНIFТ; 05.03.2013 в 19:36.
Кто знает как сделать не кликами мыши, а через "хэндлы" напишите пожалуйста как!
Сударь, вы о чём?
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
По кнопочкам можно клацать отправкой сообщений окну кнопки, да и всё так можно делать, просто надо получить хендл окна под курсором и ему слать (так делают большинство кликеров).
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.