Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.09.2010, 00:51   #1
Obey177
Форумчанин
 
Регистрация: 29.08.2010
Сообщений: 159
По умолчанию Стоп

Вообщем нужно чтобы по нажатию клавиши End программа останавливалась...кого не затруднит помогите...
Obey177 вне форума Ответить с цитированием
Старый 03.09.2010, 00:54   #2
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Где клавиша нажиматься должна? Что имеется ввиду, под "остановкой" программы? Закрытие?
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 03.09.2010, 00:56   #3
Obey177
Форумчанин
 
Регистрация: 29.08.2010
Сообщений: 159
По умолчанию

на клавиатуре есть клавиша End...нет не закрываться а просто останавливаться
Obey177 вне форума Ответить с цитированием
Старый 03.09.2010, 01:00   #4
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

м-да.... между прочим активным может быть практически любой компонент на форме, поэтому надо знать, где клавиша будет нажиматься. Программа и без того никуда не идет.... можно и поподробней написать.
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 03.09.2010, 01:03   #5
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

Obey177, что ж вы молчите? Вам нужен глобальный хук. Вот про него и спрашивайте.
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab
ex.cluz вне форума Ответить с цитированием
Старый 03.09.2010, 01:04   #6
Obey177
Форумчанин
 
Регистрация: 29.08.2010
Сообщений: 159
По умолчанию

Могу скинуть исходник...програма простой кликер для онлайн игры точнее для точения вешей мне нужно что бы как только вещь приближалась к определенной заточке кликер по нажатию энда прерывался и стопорился ато при кликинге мышкой прогу не закроеш...ексклуз сегодня гуглил ваш запрос ничего обробатываемого моей головой ненашел...
Obey177 вне форума Ответить с цитированием
Старый 03.09.2010, 01:06   #7
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

ну скидывай... посмотрим.
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 03.09.2010, 01:07   #8
Obey177
Форумчанин
 
Регистрация: 29.08.2010
Сообщений: 159
По умолчанию

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  pt : TPoint;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
 var
  X: integer;
begin
Button1.Tag := 0;
for X := 0 to StrToInt(Edit8.Text) do

begin
  Form1.Left := 800;
  Form1.Top  := 40;
  SetWindowPos(FindWindow(nil, 'Lineage II'), HWND_TOP, 0, 0, 800, 800, SWP_SHOWWINDOW);
  Sleep(2000); // Ждём, когда там всё выстроится как надо
  GetCursorPos(pt);
    SetCursorPos(StrToInt(Form1.Edit1.Text), StrToInt(Form1.Edit2.Text)); // Ставим курсор на поле ввода пароля
    GetCursorPos(pt);

    // Двойной клик на энчант
    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, pt.X, pt.Y, 0, 0);
    Sleep(StrToInt(Form1.Edit7.Text));
    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, pt.X, pt.Y, 0, 0);
    Sleep(StrToInt(Form1.Edit7.Text));
    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, pt.X, pt.Y, 0, 0);
    Sleep(StrToInt(Form1.Edit7.Text));
    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, pt.X, pt.Y, 0, 0);
    Application.ProcessMessages;

    Sleep(900);

      GetCursorPos(pt);
    SetCursorPos(StrToInt(Form1.Edit3.Text), StrToInt(Form1.Edit4.Text)); // Ставим курсор на поле ввода пароля
    GetCursorPos(pt);

    // клик на пуху
    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, pt.X, pt.Y, 0, 0);
    Sleep(StrToInt(Form1.Edit7.Text));
    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, pt.X, pt.Y, 0, 0);
    Sleep(StrToInt(Form1.Edit7.Text));

    Sleep(900);

     GetCursorPos(pt);
    SetCursorPos(StrToInt(Form1.Edit5.Text), StrToInt(Form1.Edit6.Text)); // Ставим курсор на поле ввода пароля
    GetCursorPos(pt);

    // клик на ОК
    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, pt.X, pt.Y, 0, 0);
    Sleep(StrToInt(Form1.Edit7.Text));
    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, pt.X, pt.Y, 0, 0);
    Sleep(StrToInt(Form1.Edit7.Text));

    Sleep(900);

 Application.ProcessMessages;
  if Button1.Tag <> 0 then Break;
  end;
  end;

end.
Obey177 вне форума Ответить с цитированием
Старый 03.09.2010, 01:09   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а там разве по энд в кликере вашем?
не думаю, горячая клавиша вам нужна

помоему тут лучше по нажатию хоткея начинать кликать, потом по повтору прекращать кликать, думаю даже прерывание по середине функи не нужно.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 03.09.2010 в 01:12.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.09.2010, 01:10   #10
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

тебе надо не программу останавливать, а дописывать в нее прерывание процедуры по нажатию клавиши. Ищи по поиску, обсуждалось.
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стоп IDhttp KoBRaAndrey Работа с сетью в Delphi 0 30.04.2010 21:28