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 53
|
///////////////////////////////////////////////////////////////////////////////
////////LECTURE CONFIG TCP/IP DE LA MACHINE AVANT L EXECUTION DE MON CODE//////
///////////////////////////////////////////////////////////////////////////////
WORD wVersionRequested;
WSADATA wsaData;
char name[255];
PHOSTENT hostinfo;
wVersionRequested = MAKEWORD( 2, 0 );
if ( WSAStartup( wVersionRequested, &wsaData ) == 0 )
{
if( gethostname ( name, sizeof(name)) == 0)
{
if((hostinfo = gethostbyname(name)) != NULL)
{
ip_orig = inet_ntoa (*(in_addr *)*hostinfo->h_addr_list);
//ip_orig correspond a l'adresse IP de la machine avant qu'elle ne soit modifiée par l'appli.
}
}
WSACleanup( );
}
///////////////////////////////////////////////////////////////////////////////
////////Modification de la config TCP/IP le temps de l'éxécution //////////////
///////////////////////////////////////////////////////////////////////////////
ShellExecute(Handle,"open","netsh.exe","interface ip set address \"Connexion au réseau local\" static 192.168.0.2 255.255.255.0",0,SW_SHOWNORMAL); //Passage de l'adresse IP a 192.168.0.2 masque 255.255.255.0
Sleep(10000);//Attente de la prise en compte par l'OS de la commande netsh
///////////////////////////////////////////////////////////////////////////////
////////Vérification de la CONFIG TCP/IP MODIFIÉE /////////////////////////////
///////////////////////////////////////////////////////////////////////////////
AnsiString ip_modifiee;
if ( WSAStartup( wVersionRequested, &wsaData ) == 0 )
{
if( gethostname ( name, sizeof(name)) == 0)
{
if((hostinfo = gethostbyname(name)) != NULL)
{
ip_modifiee = inet_ntoa (*(in_addr *)*hostinfo->h_addr_list);
//ip_modifiee correspond a la nouvelle adresse IP de la machine.
}
}
WSACleanup( );
}
if (AnsiCompareStr(ip_modifiee,"192.168.0.2") != 0)
{
Application->MessageBoxA("Paramétrage TCP/IP impossible, L'appli risque de ne pas fonctionner, Vérifiez que vous avez les droits administrateurs sur votre PC","ERREUR",MB_OK);
}
}
//--------------------------------------------------------------------------- |
Partager