PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum gt;gt;o q a de errado com este simples programalt;lt;lt #157703

03/05/2003

0

o q à de errado com este programa eu não consigo intender
ele serve pra vc fechar progs em uma maquina remota
este é o cli
unit cli;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, NMUDP;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    NMUDP1: TNMUDP;
    Button2: TButton;
    Button1: TButton;
    procedure NMUDP1DataReceived(Sender: TComponent; NumberBytes: Integer;
      FromIP: String; Port: Integer);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.NMUDP1DataReceived(Sender: TComponent;
  NumberBytes: Integer; FromIP: String; Port: Integer);
var
  MyStream: TMemoryStream;
  TmpStr: String;
begin
  MyStream := TMemoryStream.Create;
  try
    NMUDP1.ReadStream(MyStream);
    SetLength(TmpStr,NumberBytes);
    MyStream.Read(TmpStr[1],NumberBytes);
    listbox1.Items.Text:=TmpStr;
  finally
    MyStream.Free;
  end;
end;

procedure Enviar_texto(texto: string);
var
  MyStream: TMemoryStream;
  TmpStr: String;
Begin
  TmpStr := texto;
  MyStream := TMemoryStream.Create;
  try
    MyStream.Write(TmpStr[1], Length(texto));
    form1.NMUDP1.SendStream(MyStream);
  finally
    MyStream.Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
enviar_texto(´olá´);
end;

end.



e este o server


unit server;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, NMUDP, ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    ListBox1: TListBox;
    Edit1: TEdit;
    UPD: TNMUDP;
    Timer1: TTimer;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure UPDDataReceived(Sender: TComponent; NumberBytes: Integer;
      FromIP: String; Port: Integer);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

Function EnumWindowsProc (Wnd: HWND; lb: TListbox): BOOL; stdcall;
var caption: Array [0..128] of Char;
begin
Result := True;
if IsWindowVisible(Wnd) and
((GetWindowLong(Wnd, GWL_HWNDPARENT) = 0) or
(HWND(GetWindowLong(Wnd, GWL_HWNDPARENT)) = GetDesktopWindow))and
((GetWindowLong(Wnd, GWL_EXSTYLE) and WS_EX_TOOLWINDOW) = 0)
then
begin
SendMessage( Wnd, WM_GETTEXT, Sizeof(caption),integer(@caption));
lb.Items.AddObject( caption,TObject( Wnd ));
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
listbox1.Items.Clear;
EnumWindows( @EnumWindowsProc, integer( listbox1 ));
end;

procedure TForm1.Button1Click(Sender: TObject);
var P : PChar;
begin
P := Pchar(edit1.Text);
PostMessage(FindWindow(nil, P ), WM_CLOSE,0,0);
end;

procedure enviar_texto;
var
  MyStream: TMemoryStream;
  TmpStr: String;
Begin
  form1.upd.ReportLevel := Status_Basic;
  TmpStr := form1.listbox1.Items.Text;
  MyStream := TMemoryStream.Create;
  try
    MyStream.Write(TmpStr[1], Length(form1.listbox1.Items.Text));
    form1.upd.SendStream(MyStream);
  finally
    MyStream.Free;
  end;
end;

procedure TForm1.UPDDataReceived(Sender: TComponent; NumberBytes: Integer;
  FromIP: String; Port: Integer);
var
  MyStream: TMemoryStream;
  TmpStr: String;
begin
  MyStream := TMemoryStream.Create;
  try
    form1.UPD.ReadStream(MyStream);
    SetLength(TmpStr,NumberBytes);
    MyStream.Read(TmpStr[1],NumberBytes);
    form1.Edit1.Text:=TmpStr;
  finally
    MyStream.Free;
  end;
  form1.Button1.Click;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if edit1.Text <> ´´ then
   begin
      enviar_texto;
      timer1.Enabled:= false;
   end;
end;

end.


mais naum funciona me ajudem


Robotizar

Robotizar

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar