delphi vérifier la connexion internet
J'ai besoin d'une fonction pour Delphi 2010 pour vérifier si il y a une connexion Internet disponible.
Je dire car pour l'instant, j'ai essayé 4 méthodes différentes, par exemple http://delphi.about.com/b/2005/04/22/how-to-check-for-internet-connection-using-delphi-code.htm mais ni travaillé.
Pour exemple, une méthode, toujours donné qu'il y a l'internet, même lorsque le câble n'était pas dans le pc, l'autre le contraire (il a toujours dit qu'il y avait pas de connexion).
procedure TForm1.Button1Click(Sender: TObject) ;
function FuncAvail(_dllname, _funcname: string;
var _p: pointer): boolean;
{return True if _funcname exists in _dllname}
var _lib: tHandle;
begin
Result := false;
if LoadLibrary(PChar(_dllname)) = 0 then exit;
_lib := GetModuleHandle(PChar(_dllname)) ;
if _lib <> 0 then begin
_p := GetProcAddress(_lib, PChar(_funcname)) ;
if _p <> NIL then Result := true;
end;
end;
{
Call SHELL32.DLL for Win < Win98
otherwise call URL.dll
}
{button code:}
var
InetIsOffline : function(dwFlags: DWORD):
BOOL; stdcall;
begin
if FuncAvail('URL.DLL', 'InetIsOffline',
@InetIsOffline) then
if InetIsOffLine(0) = true
then ShowMessage('Not connected')
else ShowMessage('Connected!') ;
end;
- Qu'est-ce EXACTEMENT avez-vous essayé?
- Bienvenue sur StackOverflow. Ce n'est pas une écriture de code de service, où vous postez vos exigences et de dire: "m'Écrire une fonction qui est déjà testé. Je vais arrêter de revenir plus tard pour le ramasser. Merci.". Nous sommes heureux de vous aider à répondre à des questions spécifiques au sujet des problèmes que vous rencontrez avec votre code, mais pour ce faire vous avez besoin de poste ton code et une description du problème et de poser une question spécifique en premier. Si vous avez besoin d'une demande de code d'écrivain, d'embaucher un entrepreneur ou consultant. Bonne chance.
- FYI blog.superuser.com/2011/05/16/windows-7-network-awareness
- Désolé, j'ai offensés. Je pensais que le fait de fournir un lien valable serait d'inciter le lecteur à cliquer sur elle. J'ai collé le code dans ma question initiale, je vous remercie
Vous devez vous connecter pour publier un commentaire.
Ajouter dans votre utilise l'unité "WinNet". Avec la fonction "InternetGetConnectedState" retourner une valeur pour l'internet de l'état et le type. Voir ci-dessous:
La seule fiable méthode consiste à tenter de se connecter à un serveur réel quelque part sur Internet et voir si elle réussit ou échoue. Ne pas utiliser OS fonctions qui s'appuient sur les OS des informations d'état, parce que les données peuvent facilement sortir de la synchronisation.
Vous pouvez utiliser le
TIdHTTP
composant:TIdHTTP
prend en charge le protocole HTTPS, vous avez juste besoin d'unSSLIOHandler
composant affecté à laTIdHTTP.IOHandler
de la propriété.TIdHTTP
peut créer une valeur par défautSSLIOHandler
pour vous, mais actuellement, il est par défaut le protocole TLS 1.0, les sites web qui commencent à se déplacer loin de. Pour utiliser TLS 1.1+, vous devez attribuer uneSSLIOHandler
manuellement.