zoukankan      html  css  js  c++  java
  • Delphi检测网络连接状态

           有时候,我们做一些小软件就需要检测网络连接状态,比如想给你的软件加上类似QQ那样的系统消息,可是像我这样的穷人肯定是买不起服务器了,那我们只好另想办法,可以读取网页然后用浏览器显示,这个时候就需要判断网络状态。
        我目前采用的判断方式有两种:

    1.采用WinInet方式:

    uses WinInet;

    procedure TForm1.Button1Click(Sender: TObject);
    var
      Flags: DWORD;
    begin
      if InternetGetConnectedState(@Flags, 0) then
      begin
        if (Flags and INTERNET_CONNECTION_MODEM) = INTERNET_CONNECTION_MODEM then Label1.Caption := '在线:拨号上网';
        if (Flags and INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN then Label1.Caption := '在线:局域网上网';
        if (Flags and INTERNET_CONNECTION_PROXY) = INTERNET_CONNECTION_PROXY then Label1.Caption := '在线:代理上网';
        if (Flags and INTERNET_CONNECTION_MODEM_BUSY) = INTERNET_CONNECTION_MODEM_BUSY then Label1.Caption := 'Modem被其他网络使用';
      end;
    end;

    2.采用URL.dll文件提供的InetIsOffline函数:

    首先声明函数:
    function InetIsOffline(Flag: integer): Boolean; stdcall; external 'URL.dll';
    然后调用
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      if InetIsOffline(1) then
        Label1.Caption := '网络在线!'
      else
        Label1.Caption := '网络不在线!';
    end;
    不知道是不是我的调用方式有问题,总是显示无连接。

    http://www.lsworks.net/article/7.html

  • 相关阅读:
    互联网创业瞄准Web3.0时代 风投商造梦与毁梦 沧海
    SOA基础结构探究:服务调节与指挥 沧海
    排序算法小结 沧海
    上班触感 沧海
    经典程序摘录 沧海
    经典C程序100例 沧海
    ITIL进入快速增长期 2010年亚太市场将达$8亿 沧海
    必须要掌握的七种谈话技巧 沧海
    如何准备软件工程师的面试 沧海
    Junit教程 拂晓风起
  • 原文地址:https://www.cnblogs.com/findumars/p/4998989.html
Copyright © 2011-2022 走看看