PDA

Просмотр полной версии : [Руководство] Мануал по написанию бота на delphi7


OneShot
10.02.2011, 11:28
Есть огрооомная просьба к знающим. Напишите пожалуйста небольшой мануальчик по созданию бота для социальных игр. Буду искренне благодарен):bow::bow::bow:

Добавлено через 14 минут
я немного не так выразился:
Я так понимаю все выполнять через функции indy? посылая пост запросы перехваченные сниффером?

KeRRyStyLe
10.02.2011, 18:37
Ну вот я сам только начинаю программировать, но... У меня есть ГугЛ_)))
Вот что я нашел по поводу бота. думаю пригодиться. Если ты хочешь что бы он тыкал на какую то кнопку или еще куда-то то вот пожалуйста:
Иммиация нажатия кнопки:
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
if shiftkeys[i].shift in bShift then
keybd_event(shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0), 0, 0);
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
if shiftkeys[i].shift in bShift then
keybd_event(shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0), KEYEVENTF_KEYUP, 0);
end;

Но! Чтобы воспользоваться этой процедурой надо предварительно найти и активизировать нужное окно, при помощи:
SetForegroundWindow(FindWindow(PChar(WindowClassNa me), PChar(WindowCaption)));
И конечно же не забудь поставить задержки вроде Sleep(100), после активизации окна и между посылаемыми клавишами, а то окно может не успевать реагировать на клавиши...

OneShot
11.02.2011, 00:45
Ну вот я сам только начинаю программировать, но... У меня есть ГугЛ_)))
Вот что я нашел по поводу бота. думаю пригодиться. Если ты хочешь что бы он тыкал на какую то кнопку или еще куда-то то вот пожалуйста:
Иммиация нажатия кнопки:
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
if shiftkeys[i].shift in bShift then
keybd_event(shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0), 0, 0);
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
if shiftkeys[i].shift in bShift then
keybd_event(shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0), KEYEVENTF_KEYUP, 0);
end;

Но! Чтобы воспользоваться этой процедурой надо предварительно найти и активизировать нужное окно, при помощи:
SetForegroundWindow(FindWindow(PChar(WindowClassNa me), PChar(WindowCaption)));
И конечно же не забудь поставить задержки вроде Sleep(100), после активизации окна и между посылаемыми клавишами, а то окно может не успевать реагировать на клавиши...

Это не то...

Добавлено через 3 часа 4 минуты
Может кто нибудь напишет хотябы технику? какие компоненты использовать?

4ugastrik
11.02.2011, 12:03
[B]
Я так понимаю все выполнять через функции indy? посылая пост запросы перехваченные сниффером?
Правильно понимаешь! Ни чего сложного, немного погугли и все!!!:agreed:

OneShot
11.02.2011, 16:46
Правильно понимаешь! Ни чего сложного, немного погугли и все!!!:agreed:

как парсить с флеш приложений???