Текущий архив: 2002.03.28;
Скачать: CL | DM;
ВнизDisconnect ~ Connect Найти похожие ветки
← →
Елена3000 (2002-01-11 23:43) [0]Я ,наверное, не первая задаю этот вопрос, так что не ворчите, а помогите девушке :)
Так вот, как можно узнать подключён ли компьютер к интернету или нет? И как программно вызвать disconnect?
← →
Ghost. (2002-01-14 09:56) [1]program Test_inet;
uses
Windows, WinSock, Messages;
var
WinClass: TWndClassA;
Inst, Handle, ComboBox1, Button1: Integer;
Msg: TMsg;
hFont: Integer;
addst:string;
j, jj, ChildHandle : integer;
function InInternet : boolean;
Var
i : integer;
S : string;
WSAData: TWSAData;
Host : PHostEnt;
begin
result:=false;
S := "delphi.mastak.ru";
i:=pos("http://", S); if i>0 then delete(S, 1, 7);
i:=pos("/", S); if i>0 then delete(S, i, 255);
if WSAStartup($101, WSAData) = 0 then
begin
Host := GetHostByName(@S[1]);
result := Host<>nil;
WSACleanUp;
end;
if not result then begin
S:="www.microsoft.com";
if WSAStartup($101, WSAData) = 0 then
begin
Host := GetHostByName(@S[1]);
result := Host<>nil;
WSACleanUp;
end;
end;
end;
{ Custom WindowProc function }
function WindowProc(hWnd, uMsg, wParam, lParam: Integer): Integer; stdcall;
begin
if (uMsg = WM_DESTROY) then halt;
Result := DefWindowProc(hWnd, uMsg, wParam, lParam);
end;
begin
{ ** Register Custom WndClass ** }
Inst := hInstance;
with WinClass do
begin
style := CS_CLASSDC or CS_PARENTDC;
lpfnWndProc := @WindowProc;
hInstance := Inst;
hbrBackground := color_btnface + 1;
lpszClassname := "MY_TESTWINDOW";
hCursor := LoadCursor(0, IDC_ARROW);
end; { with }
RegisterClass(WinClass);
{ ** Create Main Window ** }
Handle := CreateWindow("MY_TESTWINDOW", "Test",
WS_MINIMIZEBOX or WS_VISIBLE or WS_CAPTION or WS_SYSMENU,
237, 135, 544, 398, 0, 0, Inst, nil);
ComboBox1 := CreateWindow("STATIC", "", WS_CHILD or WS_VISIBLE,
86, 16, 246, 104, Handle, 0, Inst, nil);
UpdateWindow(Handle);
jj:=GetTickCount;
{ ** Message Loop ** }
while(GetMessage(Msg, Handle, 0, 0)) do
begin
j:=GetTickCount;
if j-jj > 3000 then begin
if (InInternet) then addst:="Мы сейчас в интернете"
else addst:="Нет связи с интернет";
SendMessage(ComboBox1,WM_SETTEXT,0,Longint(@addst[1]));
UpdateWindow(Handle);
jj:=GetTickCount;
end;
TranslateMessage(msg);
DispatchMessage(msg);
end; { with }
end.
← →
Wonder (2002-01-14 11:50) [2]Это не есть правильно. Host не nil - это всего лишь говорит о том, что работает разрешение имен. А есть ли на самом деле связь с delphi.mastak.ru или c microsoft или с чем еще так не выяснишь.
Обратно: даже если функция возвратит nil, то это вовсе не означает, что нет связи с требуемым хостом. Это означает, что DNS правильно не работает/не настроен.
Страницы: 1 вся ветка
Текущий архив: 2002.03.28;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.009 c