?? 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 + -