не очень хороший способ. к примеру с ADSL модемом, при выдергивании телефонного провода из него все-равно возвращает true и флаги INTERNET_CONNECTION_LAN | INTERNET_RAS_INSTALLED. тоже самое и при наличии интернета. кста параметр lpdwFlags [out], его нужно проверять после вызова функции, а не устанавливать перед вызовом. через
http://www.msftncsi.com/ncsi.txt надежнее, как это делает Windows 7.
Код:
var
dwFlags: DWORD;
begin
dwFlags:=0;
if InternetGetConnectedState(@dwFlags, 0) then ShowMessage('Ok') else ShowMessage('Oops');
Edit1.Text:=IntToHex(dwFlags, 8);
end;