1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString ansIp11,ansIp12,ansIp13,ansIp14,ansIp21,ansIp22,ansIp23,ansIp24;
int IpDeb,IpFin;
std::vector<std::string> strIp;
AnsiString ansAddIp;
HANDLE th = 0;
bool bflag = true;
SECURITY_ATTRIBUTES attr;
int i =0;
ansIp11 = Edit1->Text;
ansIp12 = Edit2->Text;
ansIp13 = Edit3->Text;
ansIp14 = Edit4->Text;
ansIp21 = Edit5->Text;
ansIp22 = Edit6->Text;
ansIp23 = Edit7->Text;
ansIp24 = Edit8->Text;
if(bflag==true)
{
IpDeb = StrToInt(ansIp14.c_str());
IpFin = StrToInt(ansIp24.c_str());
attr.nLength = sizeof(SECURITY_ATTRIBUTES);
attr.lpSecurityDescriptor = NULL;
attr.bInheritHandle = 0;
for(i=IpDeb;i<=IpFin;i++)
{
ansIp14 =i;
ansAddIp=("");
ansAddIp = ansIp11+"."+ansIp12+"."+ansIp13+"."+ansIp14;
if (Ping(ansAddIp)==1)
{
strIp.push_back(ansAddIp.c_str());
}
}
int const taille(strIp.size());
for(i=0;i<=taille-1;i++)
{
th = CreateThread(NULL,0,&MyThread,&strIp[i], 0,NULL);
if(th ==NULL){Form1->Memo1->Lines->Add("Impossible de creer un thread");}
//WaitForSingleObject(th,10);
}
Memo1->Lines->Add("Fin de scrutation, nombre de poste trouvé : ");
Memo1->Lines->Add(taille);
}
} |
Partager