Книга: Delphi. Учимся на примерах
Полный исходный код модуля
Полный исходный код модуля
Полный код модуля программы отправки сообщений по локальной сети представлен в листинге 15.1.
Листинг 15.1. Модуль программы отправки сообщений по локальной сети
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;
type TForm1 = class(TForm)
Button1: TButton;
ip: TEdit;
Label1: TLabel;
Label2: TLabel;
txt: TEdit;
Label3: TLabel;
how: TEdit;
secure: TCheckBox;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure secureClick(Sender: TObject);
procedure ipKeyPress(Sender: TObject; var Key: Char);
procedure txtKeyPress(Sender: TObject; var Key: Char);
procedure howKeyPress(Sender: TObject; var Key: Char);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure bomb();
public
{ Public declarations }
end;
var
Form1: TForm1;
i: integer;
implementation
{$R *.dfm}
procedure TForm1.bomb();
begin
//проверяем, не пустое ли текстовое сообщение
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.