Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2003.12.26;
Скачать: [xml.tar.bz2];

Вниз

Как проверить, подключен ли в данный момент интернет?!   Найти похожие ветки 

 
ФЫ   (2003-10-30 00:35) [0]

Как проверить, подключен ли в данный момент интернет?!

(соед-е модемное..)

Вот это не пашет... постоянно говорит, что не подключен... даже сейчас... и после.. всегда...


if not InetIsOffline(0) then
ShowMessage("This computer is not connected to Internet!")
else
ShowMessage("You are connected to Internet!");


а так не знает, что это: IC_MODEM+IC_LAN+IC_PROXY, поэтому тоже не пашет.....

const INTERNET_CONNECTION_MODEM = 1;
INTERNET_CONNECTION_LAN = 2;
INTERNET_CONNECTdState";

{$R *.DFM}

procedure TForm1.CheckState(Sender: TObject);
var
dwConnectionTypes: DWORD;
begin
dwConnectionTypes:=IC_MODEM+IC_LAN+IC_PROXY;
if InternetGetConnectedState(@dwConnectionTypes,0) then
ShowMessage("Youa connected")
else
ShowMessage("No Connection");
end;


 
Dimaxx   (2003-10-30 00:57) [1]

Пиши на мыло - есть компонент InetDetector. Все работает - сам проверял (делал себе счетчик).


 
KyRo   (2003-10-30 01:51) [2]

Вот есть такой исходник смотри
uses
Windows, SysUtils, Registry, WinSock, WinInet;
type
TConnectionType = (ctNone, ctProxy, ctDialup);
function ConnectedToInternet : TConnectionType;
function RasConnectionCount : Integer;
implementation
//For RasConnectionCount =======================
const
cERROR_BUFFER_TOO_SMALL = 603;
cRAS_MaxEntryName = 256;
cRAS_MaxDeviceName = 128;
cRAS_MaxDeviceType = 16;
type
ERasError = class(Exception);
HRASConn = DWord;
PRASConn = ^TRASConn;
TRASConn = record
dwSize: DWORD;
rasConn: HRASConn;
szEntryName: Array[0..cRAS_MaxEntryName] Of Char;
szDeviceType : Array[0..cRAS_MaxDeviceType] Of Char;
szDeviceName : Array [0..cRAS_MaxDeviceName] of char;
end;
TRasEnumConnections =function (RASConn: PrasConn; { buffer to receive Connections data }
var BufSize: DWord; { size in bytes of buffer }
var Connections: DWord { number of Connections written to buffer }
): LongInt; stdcall;

//End RasConnectionCount =======================
function ConnectedToInternet: TConnectionType;
var
Reg : TRegistry;
bUseProxy : Boolean;
UseProxy : LongWord;
begin
Result := ctNone;
Reg := TRegistry.Create;
with REG do
try
try
RootKey := HKEY_CURRENT_USER;
if OpenKey("SoftwareMicrosoftWindowsCurrentVersionInternet settings",False) then
begin
//I just try to read it, and trap an exception
if GetDataType("ProxyEnable") = rdBinary then
ReadBinaryData("ProxyEnable", UseProxy, SizeOf(LongWord) )
else begin
bUseProxy := ReadBool("ProxyEnable");
if bUseProxy then UseProxy := 1 else UseProxy := 0;
end;
if (UseProxy 0) and ( ReadString("ProxyServer") "" ) then Result := ctProxy;
end;
except
//Obviously not connected through a proxy
end;
finally
Free;
end;
//We can check RasConnectionCount even if dialup networking is not installed
//simply because it will return 0 if the DLL is not found.
if Result = ctNone then
begin
if RasConnectionCount 0 then Result := ctDialup;
end;
end;

function RasConnectionCount : Integer;
var
RasDLL : HInst;
Conns : Array[1..4] of TRasConn;
RasEnums : TRasEnumConnections;
BufSize : DWord;
NumConns : DWord;
RasResult : Longint;
begin
Result := 0;
//Load the RAS DLL
RasDLL := LoadLibrary("rasapi32.dll");
if RasDLL = 0 then exit;
try
RasEnums := GetProcAddress(RasDLL,"RasEnumConnectionsA");
if @RasEnums = nil then raise ERasError.Create("RasEnumConnectionsA not found in rasapi32.dll");
Conns[1].dwSize := Sizeof (Conns[1]);
BufSize := SizeOf(Conns);
RasResult := RasEnums(@Conns, BufSize, NumConns);
If (RasResult = 0) or (Result = cERROR_BUFFER_TOO_SMALL) then Result := NumConns;
finally
FreeLibrary(RasDLL);
end;
end;



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2003.12.26;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.006 c
1-86443
Straus
2003-12-13 01:22
2003.12.26
Как обрабатывать сообщения, например WM_HOTKEY в консольном прило


14-86513
euru
2003-11-12 15:37
2003.12.26
Виртуальные классы


14-86531
IronHawk
2003-11-27 16:10
2003.12.26
Определение слова


6-86471
sapsi
2003-10-28 12:29
2003.12.26
Нахождение названий ссылок на HTML странице


14-86520
Ольга
2003-12-05 12:30
2003.12.26
Привет, подскажите пожалуйста хорошую ссылочку по работе





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский