comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[Delphi] DH Auto Clicker 0.6

  • 0 Respuestas
  • 1566 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil
« en: Octubre 02, 2016, 03:02:58 pm »
Un programa en Delphi para usar un clicker automatico para juegos o lo que sea.

Opciones :

  • Capturar posicion del mouse para usar en el programa
  • Timeout para cada click
  • Teclas de acceso rapido para empezar y terminar el clicker
  • Clicks en posiciones aleatorias
  • Los Clicks que permite son izquierda,medio,derecha y doble click


Una imagen :



El codigo :

Código: Delphi
  1. // DH Auto Clicker 0.6
  2. // (C) Doddy Hackman 2016
  3.  
  4. unit auto_clicker;
  5.  
  6. interface
  7.  
  8. uses
  9.   Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  10.   System.Classes, Vcl.Graphics,
  11.   Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls,
  12.   Vcl.ComCtrls, Math, Vcl.ImgList, Vcl.Imaging.pngimage;
  13.  
  14. type
  15.   TFormHome = class(TForm)
  16.     logo: TImage;
  17.     gbMousePosition: TGroupBox;
  18.     lblXPosition: TLabel;
  19.     txt_X_Now: TEdit;
  20.     lblYPosition: TLabel;
  21.     txt_Y_Now: TEdit;
  22.     gbOptions: TGroupBox;
  23.     lblType: TLabel;
  24.     cmbType: TComboBox;
  25.     lblSleep: TLabel;
  26.     txtSleep: TEdit;
  27.     lblXSelect: TLabel;
  28.     txt_X_Select: TEdit;
  29.     lblYSelect: TLabel;
  30.     txt_Y_Select: TEdit;
  31.     lblSeconds: TLabel;
  32.     btnGetPosition: TButton;
  33.     cbUseRandomClicks: TCheckBox;
  34.     btnStart: TButton;
  35.     btnStop: TButton;
  36.     status: TStatusBar;
  37.     tmGetMousePosition: TTimer;
  38.     tmClicker: TTimer;
  39.     notificar: TTrayIcon;
  40.     tmHookKeys: TTimer;
  41.     ilIconos: TImageList;
  42.     procedure tmGetMousePositionTimer(Sender: TObject);
  43.     procedure btnGetPositionClick(Sender: TObject);
  44.     procedure tmClickerTimer(Sender: TObject);
  45.     procedure notificarClick(Sender: TObject);
  46.     procedure tmHookKeysTimer(Sender: TObject);
  47.     procedure btnStartClick(Sender: TObject);
  48.     procedure btnStopClick(Sender: TObject);
  49.   private
  50.     { Private declarations }
  51.   public
  52.     procedure capturar_posicion_mouse();
  53.     procedure iniciar_clicker();
  54.     procedure desactivar_clicker();
  55.   end;
  56.  
  57. var
  58.   FormHome: TFormHome;
  59.  
  60. implementation
  61.  
  62. {$R *.dfm}
  63.  
  64. function message_box(title, message_text, type_message: string): string;
  65. begin
  66.   if not(title = '') and not(message_text = '') and not(type_message = '') then
  67.   begin
  68.     try
  69.       begin
  70.         if (type_message = 'Information') then
  71.         begin
  72.           MessageBox(FormHome.Handle, PChar(message_text), PChar(title),
  73.             MB_ICONINFORMATION);
  74.         end
  75.         else if (type_message = 'Warning') then
  76.         begin
  77.           MessageBox(FormHome.Handle, PChar(message_text), PChar(title),
  78.             MB_ICONWARNING);
  79.         end
  80.         else if (type_message = 'Question') then
  81.         begin
  82.           MessageBox(FormHome.Handle, PChar(message_text), PChar(title),
  83.             MB_ICONQUESTION);
  84.         end
  85.         else if (type_message = 'Error') then
  86.         begin
  87.           MessageBox(FormHome.Handle, PChar(message_text), PChar(title),
  88.             MB_ICONERROR);
  89.         end
  90.         else
  91.         begin
  92.           MessageBox(FormHome.Handle, PChar(message_text), PChar(title),
  93.             MB_ICONINFORMATION);
  94.         end;
  95.         Result := '[+] MessageBox : OK';
  96.       end;
  97.     except
  98.       begin
  99.         Result := '[-] Error';
  100.       end;
  101.     end;
  102.   end
  103.   else
  104.   begin
  105.     Result := '[-] Error';
  106.   end;
  107. end;
  108.  
  109. procedure mouse_click(option: string);
  110. // Function based in : http://www.swissdelphicenter.ch/torry/showcode.php?id=360
  111. // Thanks to Thomas Stutz
  112. begin
  113.   if (option = 'left') then
  114.   begin
  115.     mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
  116.     mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
  117.   end
  118.   else if (option = 'right') then
  119.   begin
  120.     mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0);
  121.     mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
  122.   end
  123.   else if (option = 'middle') then
  124.   begin
  125.     mouse_event(MOUSEEVENTF_MIDDLEDOWN, 0, 0, 0, 0);
  126.     mouse_event(MOUSEEVENTF_MIDDLEUP, 0, 0, 0, 0);
  127.   end
  128.   else if (option = 'double') then
  129.   begin
  130.     mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
  131.     mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
  132.     GetDoubleClickTime;
  133.     mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
  134.     mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
  135.   end
  136.   else
  137.   begin
  138.     mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
  139.     mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
  140.   end;
  141. end;
  142.  
  143. procedure TFormHome.iniciar_clicker();
  144. begin
  145.   if (cmbType.ItemIndex <> -1) and not(txt_X_Select.Text = '') and
  146.     not(txt_Y_Select.Text = '') and not(txtSleep.Text = '') then
  147.   begin
  148.     tmClicker.Interval := StrToInt(txtSleep.Text) * 1000;
  149.     tmClicker.Enabled := True;
  150.     status.Panels[0].Text := '[+] Working ...';
  151.     FormHome.Update;
  152.     notificar.BalloonTitle := 'DH Auto Clicker';
  153.     notificar.BalloonHint := 'Clicker Started';
  154.     notificar.ShowBalloonHint;
  155.   end
  156.   else
  157.   begin
  158.     message_box('DH Auto Clicker 0.6', 'Complete the options', 'Warning');
  159.   end;
  160. end;
  161.  
  162. procedure TFormHome.desactivar_clicker();
  163. begin
  164.   tmClicker.Enabled := False;
  165.   status.Panels[0].Text := '[+] Stopped';
  166.   FormHome.Update;
  167.   notificar.BalloonTitle := 'DH Auto Clicker';
  168.   notificar.BalloonHint := 'Clicker Stopped';
  169.   notificar.ShowBalloonHint;
  170. end;
  171.  
  172. procedure TFormHome.btnStartClick(Sender: TObject);
  173. begin
  174.   iniciar_clicker();
  175. end;
  176.  
  177. procedure TFormHome.btnStopClick(Sender: TObject);
  178. begin
  179.   desactivar_clicker();
  180. end;
  181.  
  182. procedure TFormHome.capturar_posicion_mouse();
  183. begin
  184.   txt_X_Select.Text := txt_X_Now.Text;
  185.   txt_Y_Select.Text := txt_Y_Now.Text;
  186.   status.Panels[0].Text := '[+] Position updated';
  187.   FormHome.Update;
  188.   notificar.BalloonTitle := 'DH Auto Clicker';
  189.   notificar.BalloonHint := 'Position updated';
  190.   notificar.ShowBalloonHint;
  191. end;
  192.  
  193. procedure TFormHome.notificarClick(Sender: TObject);
  194. begin
  195.   Show();
  196.   WindowState := wsNormal;
  197.   Application.BringToFront();
  198. end;
  199.  
  200. procedure TFormHome.btnGetPositionClick(Sender: TObject);
  201. begin
  202.   capturar_posicion_mouse();
  203. end;
  204.  
  205. procedure TFormHome.tmGetMousePositionTimer(Sender: TObject);
  206. var
  207.   ubicacion: tPoint;
  208. begin
  209.   ubicacion := Mouse.CursorPos;
  210.   txt_X_Now.Text := IntToStr(ubicacion.X);
  211.   txt_Y_Now.Text := IntToStr(ubicacion.Y);
  212. end;
  213.  
  214. procedure TFormHome.tmHookKeysTimer(Sender: TObject);
  215. var
  216.   i: integer;
  217.   re: Longint;
  218. begin
  219.   for i := 119 to 124 do
  220.   begin
  221.     re := GetAsyncKeyState(i);
  222.     If re = -32767 then
  223.     Begin
  224.       if (i = 120) then
  225.       begin
  226.         capturar_posicion_mouse();
  227.       end
  228.       else if (i = 122) then
  229.       begin
  230.         iniciar_clicker();
  231.       end
  232.       else if (i = 123) then
  233.       begin
  234.         desactivar_clicker();
  235.       end
  236.       else
  237.       begin
  238.         // ?
  239.       end;
  240.     End;
  241.   End;
  242. end;
  243.  
  244. procedure TFormHome.tmClickerTimer(Sender: TObject);
  245. var
  246.   tipo: integer;
  247.   nombre_tipo: string;
  248.   X: integer;
  249.   Y: integer;
  250.   time_sleep: integer;
  251. begin
  252.  
  253.   tipo := cmbType.ItemIndex;
  254.   nombre_tipo := '';
  255.  
  256.   if (tipo = 0) then
  257.   begin
  258.     nombre_tipo := 'left';
  259.   end
  260.   else if (tipo = 1) then
  261.   begin
  262.     nombre_tipo := 'middle';
  263.   end
  264.   else if (tipo = 2) then
  265.   begin
  266.     nombre_tipo := 'right';
  267.   end
  268.   else if (tipo = 3) then
  269.   begin
  270.     nombre_tipo := 'double';
  271.   end
  272.   else
  273.   begin
  274.     nombre_tipo := 'left';
  275.   end;
  276.  
  277.   X := 0;
  278.   Y := 0;
  279.  
  280.   if (cbUseRandomClicks.Checked) then
  281.   begin
  282.     X := RandomRange(1, 2000);
  283.     Y := RandomRange(1, 1000);
  284.   end
  285.   else
  286.   begin
  287.     X := StrToInt(txt_X_Select.Text);
  288.     Y := StrToInt(txt_Y_Select.Text);
  289.   end;
  290.  
  291.   time_sleep := StrToInt(txtSleep.Text) * 1000;
  292.  
  293.   SetCursorPos(X, Y);
  294.  
  295.   mouse_click(nombre_tipo);
  296.  
  297. end;
  298.  
  299. end.
  300.  
  301. // The End ?
  302.  

Si quieren bajar el programa y el proyecto con el codigo fuente lo pueden hacer desde aca :

SourceForge.

Eso seria todo.

 

¿Te gustó el post? COMPARTILO!



Eliminar acentos y otros agregados de un caracter/cadena Delphi 2009

Iniciado por ANTRAX

Respuestas: 0
Vistas: 3258
Último mensaje Febrero 24, 2010, 04:57:14 pm
por ANTRAX
[Sintaxis general de Delphi] By: Geek Lord Venezuela [R00t] Team

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2049
Último mensaje Febrero 24, 2010, 04:35:15 pm
por ANTRAX
1er troyano en Delphi By: Geek Lord Venezuela [R00t] Team

Iniciado por ANTRAX

Respuestas: 0
Vistas: 3489
Último mensaje Febrero 24, 2010, 04:34:48 pm
por ANTRAX
[Delphi] Creacion de un Server Builder con recursos

Iniciado por BigBear

Respuestas: 1
Vistas: 1477
Último mensaje Marzo 09, 2015, 07:56:20 pm
por Flemon
Poner splash screen con progress bar en delphi

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2977
Último mensaje Febrero 24, 2010, 04:54:23 pm
por ANTRAX