Здравствуйте. Встал вопрос: нужно реализовать программу, позволяющую отправлять текстовые сообщения на удаленный компьютер. При этом сообщения должны быть поверх всех окон на удаленном компе, но при этом не сворачивая их. Т.е. человек, например, играет в игрушку в полном экране и тут ему посреди экрана вылазит надпись: Вася - кушать! Висит в ТОПе секунд 10 и пропадает.
Есть начальные наработки, но это всё не совсем то:
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ScktComp, CheckLst;
type
TForm1 = class(TForm)
ClientSocket1: TClientSocket;
ServerSocket1: TServerSocket;
Edit1: TEdit;
Button1: TButton;
CheckListBox1: TCheckListBox;
procedure ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.Socket.Connections[FormServer.CheckListClient.ItemIndex].SendText(Edit1.Text);
ClientSocket1.Socket.SendText(Edit1.Text);
Form2.Label1.Caption := Edit1.Text;
Form2.Visible:= True;
end;
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
//отслеживаем подключение клиента
CheckListbox1.Items.Add(Socket.RemoteAddress);
CheckListbox1.Perform(WM_VSCROLL,SB_BOTTOM,0);
end;
end.
Да. И компов, на которые будут приходить информационные записки - 25 штук. Все в локалке в диапазоне 192.168.0.1-25 Раздающий интернет и собственно компьютер, с которого будут отправляться сообщения: 192.168.0.100 По сути - это программа - напоминалка для определенного юзверя: Т.е. 100 комп выбирает из списка 1-25 какой-то конкретный компьютер и отправляет ему сообщение, которое на удаленном компе висит несколько секунд, но при этом НЕ сворачивает юзверю его основного окна (игры, программы и т.п.)