Чтение онлайн

на главную

Жанры

Delphi. Учимся на примерах

Парижский Сергей Михайлович

Шрифт:

 if txt.Text = '' then txt.Text:= '!';

 //если количество не указано, то отправляем одно сообщение

 if how.Text= '' then how.Text:= '1';

 if ip.Text = '' then ip.Text:= '127.0.0.1'; {если ip-адрес не указан, то отправляем на локальный компьютер}

 //отправляем указанное количество сообщений

 for i:=1 to StrToInt(how.Text) do

WinExec(PChar('net send ' + ip.Text + '"' + txt.Text + '"'), 0); //отправка
сообщения

end;

procedure TForm1.Timer1Timer(Sender: TObject);

var

 h: HWND; //хранит идентификатор окна

begin

 if not secure.Checked then //если флажок не установлен

Timer1.Enabled:= False; //отключаем мониторинг

 if secure.Checked then //если флажок установлен

 begin

//ищем окна с сообщениями

h:= FindWindow(nil, 'Служба сообщений '); //закрываем все найденные окна

if h <> 0 then PostMessage(h, WM_QUIT, 0, 0);

 end;

end;

procedure TForm1.secureClick(Sender: TObject);

begin

 if secure.Checked then //если флажок установлен…

Timer1.Enabled:= True; //…включаем мониторинг

end;

procedure TForm1.ipKeyPress(Sender: TObject; var Key: Char);

begin

 if key = #13 then //если нажата клавиша <enter>

 bomb; //отправка сообщения

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

 bomb;

end;

end.

⊚ Все файлы проекта и исполняемый файл рассмотренной программы находятся на прилагаемом к книге компакт-диске в папке Chapter 15.

Глава 16

Удаленное управление указателем мыши

Постановка задачи

Разработать программу, которая в точности повторяет на одном компьютере все движения указателя мыши, сделанные на другом компьютере. Компьютеры могут находиться как в локальной сети, так и в Internet.

На самом деле нам придется разработать две программы: первая (назовем ее "Клиент") будет получать координаты указателя на одном компьютере и отправлять их второй программе (назовем ее "Сервер"), которая будет принимать и изменять текущие координаты указателя на присланные клиентом. Данный тип связи называется "клиент-сервер"

и для его использования у нас есть все необходимые компоненты на стандартной палитре компонентов Delphi. У "клиента" будет форма с настройками, а "сервер" будет работать незаметно для пользователя. Сначала разработаем клиентскую программу.

Разработка клиентской программы

Разработка формы

Создайте новый проект Delphi. Присвойте свойству Caption формы заголовок Remote Mouse. Разместите на форме компонент Label категории Standard и присвойте его свойству Caption значение Port. Справа от этой метки разместите компонент Edit категории Standard. Назовите его port (свойство name), а свойству text присвойте значение 2801.

Ниже разместите еще один компонент Label, присвоив его свойству Caption значение IP. Справа от него разместите компонент Edit с именем ip и текстом 127.0.0.1.

В самом низу формы разместите две кнопки (компоненты Button категории Standard), присвоив их свойству Caption значения Connect и Disconnect. Также нам понадобится компонент Timer категории System. В свойствах таймера следует изменить значение свойства Enabled на False, а свойства Interval — на 500 (что соответствует половине секунды).

Разместите на форме самый важный компонент нашей программы — Client Socket категории Internet — и присвойте ему имя Client (свойство Name). Остальные свойства этого компоненты мы будем изменять в самой программе.

Полученная форма должна соответствовать рис. 16.1.

Рис. 16.1. Форма клиентской программы для удаленного управления указателем

Разработка программного кода

По нажатию кнопки Connect должны считываться все настройки и выполняться соединение с сервером:

procedure TForm1.Button1Click(Sender: TObject);

begin

 Client.Port:= StrToInt(port.Text); //считываем порт

 Сlient.Address:= ip.text; //считываем ip-адрес сервера

 Client.Active:= True; //соединяемся

 Timer1.Enabled:= True; //включаем таймер

end;

Сначала мы считываем все необходимые настройки, а затем предпринимаем попытку соединиться с сервером. Если все нормально, то включаем таймер, по которому будут передаваться координаты указателя мыши.

Обработаем нажатие кнопки Disconnect:

procedure TForm1.Button2Click(Sender: TObject);

begin

 Timer1.Enabled:= False;//выключаем таймер

 Client.Close; //закрываем соединение

Поделиться:
Популярные книги

Метаморфозы Катрин

Ром Полина
Фантастика:
фэнтези
8.26
рейтинг книги
Метаморфозы Катрин

Вечная Война. Книга V

Винокуров Юрий
5. Вечная Война
Фантастика:
юмористическая фантастика
космическая фантастика
7.29
рейтинг книги
Вечная Война. Книга V

Генерал Скала и сиротка

Суббота Светлана
1. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.40
рейтинг книги
Генерал Скала и сиротка

Сумеречный Стрелок 3

Карелин Сергей Витальевич
3. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 3

Студент

Гуров Валерий Александрович
1. Студент
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Студент

Наизнанку

Юнина Наталья
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Наизнанку

Кодекс Охотника. Книга XVII

Винокуров Юрий
17. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVII

Кукловод

Злобин Михаил
2. О чем молчат могилы
Фантастика:
боевая фантастика
8.50
рейтинг книги
Кукловод

Наследник с Меткой Охотника

Тарс Элиан
1. Десять Принцев Российской Империи
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Наследник с Меткой Охотника

Восход. Солнцев. Книга IV

Скабер Артемий
4. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга IV

Я снова граф. Книга XI

Дрейк Сириус
11. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Я снова граф. Книга XI

Егерь

Астахов Евгений Евгеньевич
1. Сопряжение
Фантастика:
боевая фантастика
попаданцы
рпг
7.00
рейтинг книги
Егерь

Кодекс Охотника. Книга ХХ

Винокуров Юрий
20. Кодекс Охотника
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга ХХ

Возвышение Меркурия. Книга 16

Кронос Александр
16. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 16