📄 link.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 + -