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
e este o server
mais naum funciona me ajudem
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
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)