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 54 55 56 57 58 59 60 61 62 63 64
|
#include <vcl.h>
#pragma hdrstop
#include "UnitThread.h"
#include "Unit3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
typedef BOOL (WINAPI *PF_INETGETCONNECTEDSTATE)(LPDWORD, DWORD);
HANDLE hWinInet;
PF_INETGETCONNECTEDSTATE pfInternetGetConnectedState;
__fastcall TIConn::TIConn(bool CreateSuspended)
: TThread(CreateSuspended)
{
}
//---------------------------------------------------------------------------
void __fastcall TIConn::Execute()
{
////////////
hWinInet = LoadLibrary("WININET.DLL"); //Chargement de la dll
if(hWinInet == NULL)
{
Form3->LabelConn->Caption = "Impossible de charger Wininet.dll";
return;
}
pfInternetGetConnectedState = (PF_INETGETCONNECTEDSTATE) GetProcAddress(
hWinInet, "InternetGetConnectedState");
// affectation du pointeur sur la fonction
if(pfInternetGetConnectedState == NULL)
{
Form3->LabelConn->Caption = "Erreur appel fonction InternetGetConnectedState";
if(hWinInet) FreeLibrary(hWinInet);
return;
}
else
{
do
{
DWORD TypeCon ;
aff = "";
if (pfInternetGetConnectedState(&TypeCon, 0)!=FALSE) //appel de la fonction
{
aff = AnsiString("Connecté ");
Synchronize(&AffMessage);
}
else
{
aff = AnsiString("Not connected");
Synchronize(&AffMessage);
}
} while(!Terminated);
}
///////////
}
//---------------------------------------------------------------------------
void __fastcall TIConn::AffMessage()
{
Form3->LabelConn->Caption = aff;
}
//--------------------------------------------------------------------------- |
Partager