folmorse (2001-1-2 14:41:48)
如果说我的程序由问题,我愿意把源代码附上,请大虾指点!
uses
....,winInet,...NMFTP...
procedure fm_upload.bt_uploadclick(Sender:Tobject);
begin
if Not InternetCheckConnection(Pchar('http://'+test_url), 1, 0) then
begin
ShowMessage('请检查一下你的机器是否连上internet');
exit;
end;
//连接FTP服务器
NMFTP1.Host:=host_url;
NMFTP1.Port:=21;
NMFTP1.UserID:='xxx';
NMFTP1.Password:='xxx';
NMFTP1.Connect;
finally
//on E:Exception do
// ShowMessage('请你确定你的网络是否连到Internet?');
//重新恢复最初设置
NMFTP1.Disconnect;
SetCurrentdir(Pub_Currentdir);
Screen.Cursor:=crDefault;
end;
end;
教父 (2001-1-2 15:50:49)
问题肯定是出在InternetCheckConnection这个函数上面,我查了一下wininet.dll,里面
并没有InternetCheckConnection这个函数,只有InternetCheckConnectionA和
InternetCheckConnectionW这两个函数,98和NT4都是这样的,我没有2000,不知道2000底
下是怎么样,你自已看看。
folmorse (2001-1-6 9:47:45)
请教父说说还有什么方法实现判断是否连上Internet,我已经试过了好几个方法,
你说的InternetCheckConnectionA和InternetCheckConnectionW,我在winNT4.0
上调试没成功。请问还有别的方法吗?还有如何察看WinInet里面有什么函数?
请指点!
mikedeakins (2001-1-6 11:05:02)
使用 InternetCheckConnectionA ,要求 IE 3.0 或更高版本。
PChar 属于 Ansi 字符串。
教父 (2001-1-6 12:50:33)
据说可以通过注册表来判断
HKEY_LOCAL_MACHIE/System/CurrentControlSet/Servies/RemoteAcces分支下,当计算机未连
通时,Remote Connection的键值为00 00 00 00,连通时,为01 00 00 00。
在书上看到的,没试过。 :)
要看到WinInet里面有什么函数的话,你可以右击相应的DLL,在选快速查看就可以了