Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Помогите с WinAPI в Delphi (https://forum.antichat.xyz/showthread.php?t=25145)

EST a1ien 10.10.2006 10:24

Помогите с WinAPI в Delphi
 
Вобщем такая тема надо в проге сделать так чтобы она нажимала на мышку(тоесть сделать автокликер (например подводиш мышку к какому либо обекту и пога начинает на неё жать)).
Если я неошибаюсь то это делается через функцию
SendMessage только что ей передавать??
===============================
И еще один вопрос:
Надо получить Hendle активного окна
и изменить его св-ва тоесть доопустим запущенна игра на весь экран надо поместить её в окно.
Тоесть как в этой проге

ProTeuS 10.10.2006 13:33

>>Надо получить Hendle активного окна
Handle := GetForegroundWindow;
дальше посылай сообщение окну про максимизацию

EST a1ien 10.10.2006 13:46

Цитата:

дальше посылай сообщение окну про максимизацию
Можно поподробнее с этого места?

gemaglabin 10.10.2006 15:58

h:TPoint;
GetCursorpos(h);
sendmessage(Handle, WM_LBUTTONDOWN, MK_LBUTTON, h.X);
sendmessage(Handle, WM_LBUTTONUP, MK_LBUTTON, h.Y);

Rabid Rabbit 10.10.2006 16:12

Нихера!!! Про игру у вас не получица!!!. Если в игра изнОчально не предусматривалась работа в окне сделать нифига низя. И это еще не фсе! Если в игре изночально не обрабатывалась потеря фокуса (нипример при сворачивании ее в трей) то это еще хуже.
ЗЫ
Не буду кричать и обзывать всех ламьем но очень хочИца, честное слово =)
Ну кому кто мешает почитать книгу скажем того же петсолда по винапи или попинать гуглу на предмет сендмессаж???
Зайти на форум дельфинчикоф и там прошарить его поиском?
Конечно же вопрос задать легче только за то время которое нужно чтобы на него ктонибудь внятно ответил ты уже и сам бы давно нашел ответ если бы искал.
Но зачем напрягацо? Проще кинуть вопрос на форум а самому шпилить в контру или еще чета там а патом прийти через денька 2 суда на гатовИнькае. =)

Brun 10.10.2006 19:32

Если приложение DirectX или OpenGL то работать не будет!
А послать приблизительно можно так PostMessage(getactivewindow, WM_SYSCOMMAND, SC_SIZE, 0);
хотя это не то что хочет автор.

W!z@rD 10.10.2006 23:15

sendmessage(Handle, WM_LBUTTONDOWN, MK_LBUTTON, h.X);
BM_CLICK
вот еще... так можно?

h:TPoint;
GetCursorpos(h);
sendmessage(Handle, WM_CLICK, h.X,h.Y );

EST a1ien 11.10.2006 08:24

2 Rabid Rabbit
помойму я дал ссылку на прогу которая делает точто нало с игрой только я незнаю как это сделать
http://mugaming.narod.ru/winMod.rar (я говору точно что данная прога работает так как мне надо написать чтото похожее)
Тоесть игра 100% будет работать в окне.
Потеря фокуса скорее всего обрабатывается (игра MU online может комуто это чтото даст)
Цитата:

Ну кому кто мешает почитать книгу скажем того же петсолда по винапи
А полное назване можно почитаю с удовольствием.
Да насчет SendMessag'a ты может и прав можно бвло и поискать а вот насчёт изменениев параметра окна я даже не представляю как.

2 Всем кто помог
Проверю что получится если всё будет ОК то с меня +

EST a1ien 11.10.2006 15:52

Дак вот нормально не работает ни
Цитата:

h:TPoint;
GetCursorpos(h);
sendmessage(Handle, WM_CLICK, h.X,h.Y );
Хотя как я понял в место WM_CLICK надо BM_CLICK вобщем вобще некак не работает.

h:TPoint;
GetCursorpos(h);
sendmessage(Handle, WM_LBUTTONDOWN, MK_LBUTTON, h.X);
sendmessage(Handle, WM_LBUTTONUP, MK_LBUTTON, h.Y);

Вот это ещё куда нишло (но только он посылает сигнал форме т.е. если ставиш на форму обработчик OnClick То тогда срабатывает а вот на кнопку на форме уже не пашет)
Кто может написать пример который будет нажимать на кнопку
Тоесть Допустим у нас есть форма и у неё много кнопок дак вот надо чтобы посылало команду нажатия мыши.

W!z@rD 11.10.2006 21:29

>Тоесть Допустим у нас есть форма и у неё много кнопок дак вот надо чтобы посылало команду нажатия мыши.

а не проще ли button1.click?
аль
button1.Perform(BM_CLICK,0,0);


Время: 12:00