|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Как определить, Internet connected or disconnected? |
|
Как определить, Internet connected or disconnected?
|
Новый участник Сообщения: 17 |
Профиль | Отправить PM | Цитировать Как в Delphi определить Internet connected or disconnected?
|
|
------- Отправлено: 23:47, 05-10-2004 |
Линуксоид-стакановец Сообщения: 2391
|
Профиль | Отправить PM | Цитировать Почитай здесь http://interdelphi.h11.ru/inet.html
Или, если этого мало, то зайди сюда Google рулит не по детски |
------- Отправлено: 10:50, 06-10-2004 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать [mzd] THX
|
------- Отправлено: 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 |
Ветеран Сообщения: 1864
|
Профиль | Отправить 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; |
|
------- Отправлено: 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 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 |
|