Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Internet [D5, Win95/98, Win2k]


Darlok ©   (2002-04-07 14:07:00) 

Не могёт ли всезнающий ALL ответить на такой вопрос:

Как я могу узнать юзается ли в текущий момент Internet на моей машине. Приэтом я могу соеденяться с Internetom ч-з момед или
Proxy.


Dimaond Cat   (2002-04-08 00:28:00) [1]

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, WinInet;


type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

function InternetGetConnectedStateEx(lpdwFlags: LPDWORD;
lpszConnectionName: LPTSTR;
dwNameLen: DWORD;
dwReserved: DWORD): BOOL; stdcall;
function InternetGetConnectedStateEx; external "wininet.dll" name
"InternetGetConnectedStateEx";

implementation

{$R *.DFM}

Function GetVerOS: Integer;
Var
OSVer: OSVERSIONINFO;
begin
OSVer.dwOSVersionInfoSize := SizeOf(OSVERSIONINFO);
GetVersionEx(OSVer);
Result := OSVer.dwPlatformId;
end;

function InternetConnected: Boolean;
Const
INTERNET_CONNECTION_MODEM = 1; // local system uses a modem to connect to the Internet.
INTERNET_CONNECTION_LAN = 2; // local system uses a local area network to connect to the Internet.
INTERNET_CONNECTION_PROXY = 4; // local system uses a proxy server to сonnect to the Internet.
INTERNET_CONNECTION_MODEM_BUSY = 8; // local system"s modem is busy with a non-Internet connection.
Var
dwConnectionTypes : LongWord;
dwFlags: LongWord;
lpszConnectionName: PChar;
dwNameLen: DWORD;
dwReserved: DWORD;
begin
GetMem(lpszConnectionName,128);
StrCopy(lpszConnectionName,PChar("ГТС"));

dwNameLen := 120;
dwReserved := 0;
Result := False;
Case GetVerOS Of
VER_PLATFORM_WIN32s: // Win95
begin
dwConnectionTypes :=
INTERNET_CONNECTION_MODEM+INTERNET_CONNECTION_LAN+INTERNET_CONNECTION_PROXY;
Result := InternetGetConnectedState(@dwConnectionTypes,0);
end;
VER_PLATFORM_WIN32_WINDOWS: // Win98 OSR1
begin
dwFlags := 0;
Result :=
InternetGetConnectedStateEx(@dwFlags,lpszConnectionName,dwNameLen,dwReserved
);
If (dwFlags And INTERNET_CONNECTION_MODEM) = 0 Then
Result := False;
end;
VER_PLATFORM_WIN32_NT: // WinNT
begin

end;
end;
FreeMem(lpszConnectionName);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
If InternetConnected Then
Button1.Caption := "Connected";
end;


end.



Doom   (2002-04-07 21:23:00) [2]

Я тоже так подумал иначе зачем столько статей написано по этому поводу?


Anatoly Podgoretsky   (2002-04-07 21:18:00) [3]

Совсем не имеет отношения к Интернету


Doom   (2002-04-07 21:12:00) [4]

2 Biorobot © (07.04.02 21:03)
Самый простой способ который я узнал при раскапывавнии ФАКов и статей - это ваш вышеприведенный. А насколько он правильный?


Biorobot   (2002-04-07 21:03:00) [5]

Я сказал ПЕРВЫЕ три цифры!!


Song   (2002-04-07 20:37:00) [6]

Нашему всезнающему Biorobot © (07.04.02 19:09)"у:
Вообще-то local host это 127.0.0.1
а, не 127.127.127.* как Вы сказали


Biorobot   (2002-04-07 19:09:00) [7]

Тебе следует узнать какой в данный момент IP
Потом взятьь первые его 3 цифры, и если они не 127(Локальный IP)
То интернет юзается в ланный момент.

Определение IP

Uses Winsock; //Незабудь написать юзес винсок

var
WSAData : TWSAData;
p : PHostEnt;
Name : array [0..$FF] of Char;
begin
WSAStartup($0101, WSAData);
GetHostName(name, $FF);
p := GetHostByName(Name);
showmessage(inet_ntoa(PInAddr(p.h_addr_list^)^));
WSACleanup;
end;


Anatoly Podgoretsky   (2002-04-07 15:20:00) [8]

Ну какой аналитизм нужен в данном случае, просто желание воспользоваться выложенной не блюдечки информацией.
А послал я его к ствтье по той причине, что он видимо плохо представляет, что такое Интернет и как оно соежиняется.


Song   (2002-04-07 15:13:00) [9]

Anatoly Podgoretsky © (07.04.02 14:51)
Знаете, что я заметил: многие люди, вместо того, чтобы учиться, предпочитают лучше спрашивать программистов, чем что-то постигать самому. А FAQ и статьи почему-то не любят, лично я несколько десятков раз давал линки на те или иные решения в FAQ"е. Некоторые объясняют это сложностью поиска там. Может просто не хватает аналитичности для поиска того или иного решения, я имею ввиду аналитичности ума для придумывания ключей поиска.


Anatoly Podgoretsky   (2002-04-07 14:51:00) [10]

Song © (07.04.02 14:47)
Сначала статью, иначе пользы не будет


Song   (2002-04-07 14:47:00) [11]

FAQ


Anatoly Podgoretsky   (2002-04-07 14:30:00) [12]

Посмотри статью на даннос сайте


Наверх

Титульная страница Поиск, карта сайта Написать письмо