通过IP地址来判断。
首先要明确的是IP地址可能有两种:网卡配的或拨号服务器配的。
如果是拨号,可以使用RAS函数查看拨号服务器给你分配的IP地址;
如果是专线,当然也可以通过IP地址,这要通过WNET函数。但这不是肯定的。只好尝试一下PING网关或某一个已存在的主机。这要通过ICMP.DLL提供的函数。
曾经看过有一种方法是看注册表,来判断是否上网(应该是拨号),但具体怎么做,就不是很记得了,也没实验过。
首先要明确的是IP地址可能有两种:网卡配的或拨号服务器配的。
如果是拨号,可以使用RAS函数查看拨号服务器给你分配的IP地址;
如果是专线,当然也可以通过IP地址,这要通过WNET函数。但这不是肯定的。只好尝试一下PING网关或某一个已存在的主机。这要通过ICMP.DLL提供的函数。
曾经看过有一种方法是看注册表,来判断是否上网(应该是拨号),但具体怎么做,就不是很记得了,也没实验过。
解决方案 »
- 郁闷,这个汉字限制的功能怎么就实现得这么艰难呢?
- 窗体间返回值的问题!!!(菜鸟提问)
- 怎样做让自己的程序运行之后,看不到界面,在状态栏那里也看不到,只能在任务管理器里面能够看到它,该怎样 做。谢谢了
- 动态创建一个对象以后,如何向对象的事件里写入代码? 急急急
- 请问在DBGrid中如何获得当前焦点所在单元格的列数?
- →◆□〓@&#※▲换名,散分没得讲!!1●○○★☆№№§▲△■
- 如何使用WEB查询自己程序的报表啊???
- 如何控制修改dbedit字段内容的长短?
- 如何将硬盘一个目录下的文件复制为另一个路径下的其他名文件????
- 一个小问题如何把DBGRID的每个字段长度固定住,不随实际表中的长度变化而变化
- 请那位老师帮我解决以下关于类的问题谢谢!
- 请大家再帮我写一个模拟NT的 net send 命令的程序吧!我实在是没办法了!
例如:
if not inetisoffline then
showmessage('已经上网');
另外一个函数用法差不多。
//声明:
function InetIsOffline(res:dword=0):boolean;stdcall;external 'url.dll' name 'InetIsOffline';function InternetGetConnectedState;stdcall;external 'wininet.dll' name 'InternetGetConnectedState';
function InetIsOffline(res:dword=0):boolean;stdcall;external 'url.dll' name 'InetIsOffline';function InternetGetConnectedState(uflag:dword;reverse:dword);stdcall;external 'wininet.dll' name 'InternetGetConnectedState';
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}function InetIsOffline(res:dword=0):boolean;stdcall;external 'url.dll' name 'InetIsOffline';function InternetGetConnectedState(uflag:dword;reverse:dword):boolean;stdcall;external 'wininet.dll' name 'InternetGetConnectedState';procedure TForm1.Button1Click(Sender: TObject);
begin
if not inetisoffline then
showmessage('already connect to Internet');
end;end.
^_^,别忘了给分!