Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Управление мышью через API.

22K
11 ноября 2006 года
noice
1 / / 11.11.2006
Здравствуйте уважаемые! Помогите новичку в API программировании.. Никак не могу понять, как работать с мышью через апи, доков кучу перечитал, но так ниче конкретно про мышь и не понял, а сорцов нету нигде таких =( Вот, кому не трудно, напишите плиз мне сорец на Delphi7 в котром например выполняется щелчок мышью по заданному месту на экране, может я хоть так разберусь.. Заранее благодарю!!!
282
14 ноября 2006 года
Bard
481 / / 26.02.2006
На Delphi я не программирую, а вот как реализировать щелчок по указанному месту через API попробую описать:

GetCursorPos > user32
WindowFromPoint > user32
SendMessageA > user32

 
Код:
[SIZE="2"][FONT="Courier New"][COLOR="Blue"]struct[/COLOR] ptn[/FONT] [COLOR="SeaGreen"]//Ну типа структура POINTAPI[/COLOR]
    [FONT="Courier New"]x
    y
[COLOR="Blue"]end struct[/COLOR][/FONT]

[FONT="Courier New"][COLOR="Blue"]Const[/COLOR] WM_CLICK = &HF5[/FONT]

[FONT="Courier New"][COLOR="Blue"]call[/COLOR] GetCursorPos(ptn)[/FONT] [COLOR="SeaGreen"]//Получаем текущие координаты курсора[/COLOR]
[FONT="Courier New"]hWnd = WindowFromPoint(ptn.x,ptn.y)[/FONT] [COLOR="SeaGreen"]//Получили хендл окна по заданным координатам[/COLOR]
[FONT="Courier New"][COLOR="Blue"]call [/COLOR]SendMessageA(hWnd,WM_CLICK,0,0)[/FONT] [COLOR="SeaGreen"]//Посылаем клик мышкой окну по хендлу[/COLOR][/SIZE]
22K
14 ноября 2006 года
TigerCo
5 / / 14.11.2006
Боюсь одним WM_CLICK с кодом "&HF5" тут не отделаешься.
Прейдется посылать сначало WM_LBUTTONDOWN с кодом "&H201", а потом "WM_LBUTTONUP" с кодом "&H202". И при этом в "SendMessageA" в качестве последнего параметра указать координаты: в младшее слово поместить X, а в старшее - Y. К тому же, уже относительно начало координат текущего окна.
6.6K
15 ноября 2006 года
Scaiman
126 / / 25.07.2006
program example_program;

uses
Windows, Messages;

function DlgProc(hWin, uMsg, wParam, lParam: Integer): Integer; stdcall;
begin
Result := 0;
case uMsg of
WM_INITDIALOG:
Begin
SetCursorPos,100,200 перемещает курсор по указанным кардинатам
GetCursorPos,структура point получает кардинаты мыши
ShowCaret,hWin прячет курсор если неошибаюсь
end;
WM_COMMAND:
begin
case LoWord(wParam) of
...........
end;
end;
//При нажатии на кнопку "Х" в шапке программы закрываем приложение
WM_DESTROY, WM_CLOSE: PostQuitMessage(0);
end;
end;

begin
//Подключаем файл ресурсов
{$R example.res}
//При запуске программы открываем диалоговое окно MAIN_WINDOW
DialogBox(hInstance, 'MAIN_WINDOW', 0, @DlgProc);

end
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог