5,388
社区成员
发帖
与我相关
我的任务
分享
for i:= 1 to 254 do
begin
IpAdd := '192.168.1.' + inttostr(i);
if DevClearPassword(IpAdd) = true
begin
break;
end
end
var
b: Boolean = False;
cs: TRTLCriticalSection;
ip: array of Integer;
procedure f(p: Pointer); stdcall;
begin
EnterCriticalSection(cs);
if not b then
b := DevClearPassword('192.168.1.' + IntToStr(Integer(p^)));
LeaveCriticalSection(cs);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
dw: array[0..253] of DWORD;
i: Integer;
begin
for i := 1 to 254 do
begin
ip[i - 1] := i;
CloseHandle(CreateThread(nil, 0, @f, @ip[i - 1], 0, dw[i - 1]));
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
InitializeCriticalSection(cs);
SetLength(ip, 254);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
DeleteCriticalSection(cs);
end;