⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 link.pas

📁 Ddns动态域名解析源代码 是用C写的。。大家可以一起研究研究
💻 PAS
字号:
unit link;

interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,shellapi,Winsock, StdCtrls, OleCtrls, SHDocVw,HTTPApp;
function getIPs: String;  //获得动态ip
function  F_iflink:boolean;//判断是否连接internet
Function ConnectionKind :string;
Function AddIcon(hwnd : HWND):Boolean ;
implementation
//获得动态ip
uses wininet;
Function AddIcon(hwnd : HWND):Boolean ;
const ID_MAIN=100;WM_TRAYNOTIFY = WM_USER + 1000 ;
var
nid : NOTIFYICONDATA ;
begin
nid.cbSize := sizeof(NOTIFYICONDATA);
nid.Wnd := hwnd;
nid.uID := ID_MAIN;
nid.uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
nid.uCallbackMessage := WM_TRAYNOTIFY;
nid.hIcon := application.Icon.Handle;
AddIcon := Shell_NotifyIcon(NIM_MODIFY,@nid);
end ;

Function ConnectionKind :string;
var flags: dword; temp:boolean;
begin
temp := InternetGetConnectedState(@flags, 0);
if temp then
    begin
     if (flags and INTERNET_CONNECTION_MODEM) = INTERNET_CONNECTION_MODEM then
      begin
      result:='通过Modem上网';
      end;
      if (flags and INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN then
        begin
         result:='通过局域网上网';
         end;
       if (flags and INTERNET_CONNECTION_PROXY) = INTERNET_CONNECTION_PROXY then
         begin
          result:='通过代理服务器上网';
         end;
       if (flags and INTERNET_CONNECTION_MODEM_BUSY)=INTERNET_CONNECTION_MODEM_BUSY then
          begin
            result:='正在连接';
           end;
       end
       else result:='没有上网';

end; 

function getIPs: String;
type
TaPInAddr = Array[0..10] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe: PHostEnt;
pptr: PaPInAddr;
Buffer: Array[0..63] of Char;
I: Integer;
GInitData: TWSAData;
begin
WSAStartup($101,GInitData);
Result:='';
//Result.Clear;
GetHostName(Buffer,SizeOf(Buffer));
phe := GetHostByName(buffer);
if phe = nil then
begin
Exit;
end;
pPtr := PaPInAddr(phe^.h_addr_list);
I := 0;
while pPtr^[I] <> nil do
begin
Result:=inet_ntoa(pptr^[I]^);
Inc(I);
end;
WSACleanup;
end;
//获得动态ip

//判断是否连接internet
function  F_iflink:boolean;
begin
if ((getsystemmetrics(SM_NETWORK) AND $01)=$01) THEN
 result:=true
 else result:=false;
//判断是否连接internet
end;
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -