Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> движение курсора вне форм, перемещение курсора мыши на рабочем стол 
:(
    Опции темы
viktornk
Дата 4.7.2008, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 2.7.2008

Репутация: нет
Всего: нет



Здравствуйте, подскажите пожалуйста как заставить курсор мыши двигать вне формы на рабочем столе. Допустим передвинул курсор в точку и сочетанием клавишь запомнил даную позицию. После этого отодвинул мышь в другую точку и сочетанием других клавишь заставил курсор переместится в ту позицию которую запомнили.

P.S. Изучаю возможности языка. Заранее благодарен за помощ
PM MAIL   Вверх
THandle
Дата 4.7.2008, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 50
Всего: 372



Цитата(viktornk @  4.7.2008,  23:01 Найти цитируемый пост)
P.S. Изучаю возможности языка. Заранее благодарен за помощ 


Запоминаешь позиции курсора в  том же типе TPoint. Потом, когда требуется, передвигаешь на это место функцией SetCursorPos.

Добавлено через 1 минуту и 35 секунд
Вижу что не первая тема твоя по данной теме(ну написал...), если что-то не понятно, то уточняй.
PM   Вверх
viktornk
Дата 4.7.2008, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 2.7.2008

Репутация: нет
Всего: нет



Дело в том что я пока что чайник в дельфи. Хотел на примере увидеть как можно управлять курсором без всяких форм. И возможно ли чтобы программа следила за мышью, и перемещала курсор туда куда бы ты захотел независимо что загружено, ехплорер или другая программа.
Спасибо за ответ.

PM MAIL   Вверх
THandle
Дата 4.7.2008, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 50
Всего: 372



ОК. Вот пример самый элементарный:

Положи на форму таймер(закладка System, TTimer). Щелкни на нем дважды. В появившемся обработчике пиши:

Код

SetCursorPos(Random(1280), Random(1024));


Вид обработчика полностью:

Код

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  SetCursorPos(Random(1280), Random(1024));
end;


Запускай программу.

Каждую секунду курсор будет помещаться в случайную точку экрана.

Уже отсюда отталкиваясь делаем то что требуется дальше. Что-то не понятно - спрашивай тут.


Цитата(viktornk @  4.7.2008,  23:12 Найти цитируемый пост)
Дело в том что я пока что чайник в дельфи.


Тогда надо почитать книжку. лично я советую:

http://www.delphilab.ru/content/view/17/46/

PM   Вверх
viktornk
Дата 4.7.2008, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 2.7.2008

Репутация: нет
Всего: нет



Цитата(THandle @ 4.7.2008,  22:18)
ОК. Вот пример самый элементарный:

Положи на форму таймер(закладка System, TTimer). Щелкни на нем дважды. В появившемся обработчике пиши:

Код

SetCursorPos(Random(1280), Random(1024));


Вид обработчика полностью:

Код

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  SetCursorPos(Random(1280), Random(1024));
end;


Запускай программу.

Каждую секунду курсор будет помещаться в случайную точку экрана.

Уже отсюда отталкиваясь делаем то что требуется дальше. Что-то не понятно - спрашивай тут.


Цитата(viktornk @  4.7.2008,  23:12 Найти цитируемый пост)
Дело в том что я пока что чайник в дельфи.


Тогда надо почитать книжку. лично я советую:

http://www.delphilab.ru/content/view/17/46/

Огромное спасибо. Пример  интересен. Но опять же объект создан на форме. А можно даное проделать вне формы путем написания чистого кода?
PM MAIL   Вверх
THandle
Дата 4.7.2008, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 50
Всего: 372



viktornk, сделать можно все. Например:
Код


program Project1;

uses Windows, Messages;

procedure Timer;
begin
  SetCursorPos(Random(1280), Random(1024));
end;

var
  Msg : TMsg;
begin
  SetTimer(0, 0, 1000, @Timer);
  while GetMessage(Msg, 0, 0, 0) do
    DispatchMessage(Msg);
end.


Но смысл?

Если это так:
Цитата(viktornk @  4.7.2008,  23:12 Найти цитируемый пост)
Дело в том что я пока что чайник в дельфи. 


то пока не стоит рассматривать такие примеры, так как они могут быть не совсем понятны...
Можно и с использованием обычного TTimer, только динамически созданного...
Была тут тема... Сейчас найду...

Добавлено через 1 минуту и 15 секунд
Вот, посмотри там примеры и прикрути к ним SetCursorPos:

http://forum.vingrad.ru/forum/topic-206569.html
PM   Вверх
viktornk
Дата 4.7.2008, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 2.7.2008

Репутация: нет
Всего: нет



Огромное спасибо, пробую.
PM MAIL   Вверх
THandle
Дата 7.7.2008, 05:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 50
Всего: 372



Лиходей, уж тогда лучше нашу, родную:

http://drkb.ru

 smile 
PM   Вверх
VICTAR
Дата 7.7.2008, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1108
Регистрация: 6.10.2006

Репутация: 10
Всего: 80



THandle, а ты где здесь Лиходейя то увидел?  smile  smile 
PM MAIL   Вверх
ЛЕФ
Дата 9.7.2008, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.6.2008

Репутация: нет
Всего: нет



есть две АПИшки SetCursorPos(x,y) -  устанавливает курсор в точку х,у
и GetCursorPos - которая возвращает текущее положение курсора. Стало быть план действий таков - сначало возвращаеш координаты курсора в переменые х и у, а потом  устанавливаеш курсор по этим переменным, все просто. 
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0776 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.