![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
В чём ошибка... :-( [D5, WinXP]
SemFLY © (2002-10-05 22:22:00)Проверяю таким способом подключён ли комп к интернету :
function InternetGetConnectedState(lpdwFlags: LPDWORD; dwReserved:DWORD):
BOOL; stdcall; external winetdll name "InternetGetConnectedState";
implementation
function InternetConnected: Boolean;
var
dwConnectionTypes: DWORD;
begin
dwConnectionTypes := INTERNET_CONNECTION_MODEM +
INTERNET_CONNECTION_LAN +
INTERNET_CONNECTION_PROXY;
Result := InternetGetConnectedState(@dwConnectionTypes, 0);
end;
// тут крутим таймер для проверки connect"а
procedure TForm1.Timer2Timer(Sender: TObject);
var
dwConnectionTypes: DWORD;
begin
if InternetGetConnectedState(@dwConnectionTypes,0) then
begin
If (dwConnectionTypes and INTERNET_CONNECTION_MODEM) = 1 then
begin
StatBar.SimpleText := "";
StatBar.SimpleText := "Connect to Internet !";
Timer2.Enabled := False;
Timer4.Enabled := True;
end
end;
end;
// тут крутим таймер для проверки disconnect"а
procedure TForm1.Timer4Timer(Sender: TObject);
var
dwConnectionTypes: DWORD;
begin
if InternetGetConnectedState(@dwConnectionTypes,0) = False then
begin
If (dwConnectionTypes and INTERNET_CONNECTION_MODEM) = 1 then
begin
StatBar.SimpleText := "";
StatBar.SimpleText := "Disconnect from Internet !";
Timer4.Enabled := False;
Timer2.Enabled := True;
end
end;
end;
- - - - - - - - - - - - -
Всё бы хорошо, но посему-то работает это не стабильно, а именно момент соединения всегда определяется, а вот момент разъединения иногда определяеться иногда нет.
Почему так происходит ?
- - - - - -
Спасибо ! ;)
Wonder (2002-10-06 14:35:00) [1]http://www.delphi.mastak.ru/articles/connect-inet.html
SemFLY (2002-10-06 11:49:00) [2]...