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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2010, 09:55   #31
xRamzeSx
Форумчанин
 
Регистрация: 24.01.2010
Сообщений: 151
По умолчанию

http://delphiworld.narod.ru/base/key...eys_down3.html
http://delphiworld.narod.ru/base/key...keys_down.html
Какой исходник использовать?
Или есть более простой и понятный, мне только нужно заставить работать в приложении.
xRamzeSx вне форума Ответить с цитированием
Старый 22.09.2010, 10:07   #32
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
xRamzeSx
Я никак не могу понять чего ты за этот компонент уцепился...
Что тебе дает посылка нажатия клавиш?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.09.2010, 11:08   #33
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Stilet, это к он-лайн игре. Человек пытается автоматизировать некоторые вещи. Ушел, например, на учебу или работу, а твой герой весь день сам прокачивается. Потом на этом и заработать можно.
Цель хорошая. Можно будет не тратить драгоценное время на неинтересную и нудную прокачку, а играть просто в удовольствие. К тому же можно и свои настоящие навыки повысить, так сказать прокачаться по программированию (только, мне кажется для этих целей сейчас xRamzeSx'у подошла бы задачка попроще).

P.S.: xRamzeSx, только ради бога не увлекайтесь. Оно может оказаться того не стоит.

---------------------------------------------------------------------------------------------------------------------------------------------------
Цитата:
Какой исходник использовать?
PostKeyExHWND - скорее всего не подойдет. Он отправляет сообщение окну по хэнделу (PostMessage), а кто знает, что окно его обработает. См. выше пост #24. Там многоуважаемый Stilet давал ссылку на пример. В примере сообщение отправляется не окну, а дочернему оконному элементу, который нужно явно указать. Тут петрушка вообще может быть жестче и никто из элементов форму твои "горячие клавиши" не обработает.

Поправте меня Stilet, если я опять ошибаюсь. Я эту тему еще до конца не выкурил, а в разговор залез ибо тема меня самого интересует.

Последний раз редактировалось Sibedir; 22.09.2010 в 11:20.
Sibedir вне форума Ответить с цитированием
Старый 22.09.2010, 11:22   #34
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Поправте меня
Зачем? Итак понятно что это дело гиблое. Такие программы обычно не стабильны - может сработать а может быть и нет.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.09.2010, 12:04   #35
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

А что на счет keybd_event и ему подобных?
Sibedir вне форума Ответить с цитированием
Старый 22.09.2010, 14:24   #36
xRamzeSx
Форумчанин
 
Регистрация: 24.01.2010
Сообщений: 151
По умолчанию

Sibedir Если вы не понимаете суть программы. попробуйте в игре, в карман взять 6 филе куриц. В этом же городе, где Вы сейчас находитесь, найдите кухню, и попробуйте сочетаниями Alt+1... Alt+6 понажимать, и на микроволновку. В левом верхнем углу, Вы увидите, что сочитание активно. Вот кухня на карте:
xRamzeSx вне форума Ответить с цитированием
Старый 22.09.2010, 19:27   #37
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Кур где взять? Я голодранец.
Sibedir вне форума Ответить с цитированием
Старый 23.09.2010, 07:58   #38
xRamzeSx
Форумчанин
 
Регистрация: 24.01.2010
Сообщений: 151
По умолчанию

Вот это место:
xRamzeSx вне форума Ответить с цитированием
Старый 23.09.2010, 20:02   #39
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Ну вот. Из того же Delphi Word 6 Pro. Ни строчки из PostKeyEx32 не правил.
Тока обработчик кнопки свой написал. Кликнул на кнопку, перешел в окно игры (специально паузу поставил), и съел курицу в автоматическом режиме.
Код:
procedure PostKeyEx32(key: Word; const shift: TShiftState; specialkey: Boolean);
 type
   TShiftKeyInfo = record
     shift: Byte;
     vkey: Byte;
   end;
   byteset = set of 0..7;
 const
   shiftkeys: array [1..3] of TShiftKeyInfo =
     ((shift: Ord(ssCtrl); vkey: VK_CONTROL),
     (shift: Ord(ssShift); vkey: VK_SHIFT),
     (shift: Ord(ssAlt); vkey: VK_MENU));
 var
   flag: DWORD;
   bShift: ByteSet absolute shift;
   i: Integer;
 begin
   for i := 1 to 3 do
   begin
     if shiftkeys[i].shift in bShift then
       keybd_event(shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0), 0, 0);
   end; { For }
   if specialkey then
     flag := KEYEVENTF_EXTENDEDKEY
   else
     flag := 0;

   keybd_event(key, MapvirtualKey(key, 0), flag, 0);
   flag := flag or KEYEVENTF_KEYUP;
   keybd_event(key, MapvirtualKey(key, 0), flag, 0);

   for i := 3 downto 1 do
   begin
     if shiftkeys[i].shift in bShift then
       keybd_event(shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0),
         KEYEVENTF_KEYUP, 0);
   end; { For }
 end; { PostKeyEx32 }

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  sleep (2000);
  beep;
  PostKeyEx32(Ord('1'), [ssAlt], False);
  beep;
end;
Н-н-н, да. Удобно так лечится во время битвы.
Sibedir вне форума Ответить с цитированием
Старый 24.09.2010, 00:14   #40
xRamzeSx
Форумчанин
 
Регистрация: 24.01.2010
Сообщений: 151
По умолчанию

У меня что-то наверное не так выходит. Не могли бы вы свой пример выложишь?
xRamzeSx вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Горячие клавиши dmitriegorovih Общие вопросы Delphi 2 10.09.2010 14:58
Горячие клавиши. Lazio Помощь студентам 2 08.09.2010 02:20
Горячие клавиши в Delphi Maddy Помощь студентам 7 23.04.2010 17:43
Горячие клавиши Altera Общие вопросы Delphi 5 13.09.2008 21:27