Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Как определить, Internet connected or disconnected?

Ответить
Настройки темы
Как определить, Internet connected or disconnected?

Новый участник


Сообщения: 17
Благодарности: 0

Профиль | Отправить PM | Цитировать


Как в Delphi определить Internet connected or disconnected?

-------
Mr. Eko Mazini


Отправлено: 23:47, 05-10-2004

 

Аватара для [mzd]

Линуксоид-стакановец


Сообщения: 2391
Благодарности: 186

Профиль | Отправить PM | Цитировать


Почитай здесь http://interdelphi.h11.ru/inet.html
Или, если этого мало, то зайди сюда Google рулит не по детски

-------
Живя в реальном мире, стремись к невероятному... Эрнесто Че Гевара
Everybody lies. (c) House M.D.
Базовая настройка Ubuntu. Документация для новичка.
Руководство по установке, начальной настройке и основам использования операционной системы Ubuntu


Отправлено: 10:50, 06-10-2004 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 17
Благодарности: 0

Профиль | Отправить PM | Цитировать


[mzd] THX

-------
Mr. Eko Mazini


Отправлено: 13:08, 06-10-2004 | #3

IkaMazini


Сообщения: n/a

Профиль | Цитировать


Мне нужен реальный код, чтобы проверять Интернет соединение “Connected”, “Not Connected” или “Disconnected”! Windows XP. Delphi 7. Internet.
Что-то вроде етаго,  но это дрянь в WinXP-е не работает:

function InetIsOffline(Flag: Integer): Boolean; stdcall; external 'URL.DLL';

procedure TForm1.Button1Click(Sender: TObject);
begin
 if InetIsOffline(0) then
 showMessage('This computer is not connected to Internet!')
else
 showMessage('You are connected to Internet!');
end;


Отправлено: 16:13, 06-10-2004 | #4


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


Я не программирую в Дельфи, но в немецком инете нашёл следущее, может это то, что нужно
Код: Выделить весь код
Function Connection: boolean;

var

flags: dword;

begin

result:= InternetGetConnectedState(@flags, 0);

end;
Добавлено:

А ещё такое нашёл
Код: Выделить весь код
interface 
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( '\Software\Microsoft\Windows\CurrentVersion\Internet 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;

-------
Fortes fortuna adiuvat


Отправлено: 01:10, 07-10-2004 | #5

IkaMazini


Сообщения: n/a

Профиль | Цитировать


Большое тебе спасибо, это то что и нужно!

Отправлено: 03:41, 07-10-2004 | #6

IkaMazini


Сообщения: n/a

Профиль | Цитировать


uses WinInet;
……………
procedure TForm1.Button1Click(Sender: TObject);
var
*dwConnectionTypes: DWORD;
begin
*if InternetGetConnectedState(@dwConnectionTypes,0) then
* *ShowMessage('Internet Connection Executed!');
*if not InternetGetConnectedState(@dwConnectionTypes,0) then
begin

*if MessageDlg('Internet Connection Not Executed!'
* ,Mtinformation,[mbOk],0)=mrOk then
*Exit;
end;
end;


Отправлено: 14:18, 08-10-2004 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Как определить, Internet connected or disconnected?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
signal cable not connected soloxa Хочу все знать 11 11-12-2009 16:33
[решено] Как определить SlonSpb Процесcоры 37 09-01-2009 10:51
Win2000Server и Disconnected сессии k1sa Сетевые технологии 2 09-03-2006 15:11
Как определить IP e-mail shasn Хочу все знать 1 01-11-2003 06:31
Как определить оператора? Guest Мобильные ОС, смартфоны и планшеты 2 13-11-2002 18:42




 
Переход