![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Определить, есть ли активное соединение с Интернетом 2Delphi , Интернет и Сети , ИнтернетОпределить, есть ли активное соединение с Интернетом 2
Оформил: DeeCo {Dynamic linking. } function IsConnectedToInternet(lpdwFlags: LPDWORD): Boolean; const WininetDLL = 'wininet.dll'; var hWininetDLL: THandle; dwReserved: DWORD; fn_InternetGetConnectedState: function(lpdwFlags: LPDWORD; dwReserved: DWORD): BOOL; stdcall; begin Result := False; dwReserved := 0; hWininetDLL := LoadLibrary(WininetDLL); if hWininetDLL > 0 then begin @fn_InternetGetConnectedState := GetProcAddress(hWininetDLL,'InternetGetConnectedState'); if Assigned(fn_InternetGetConnectedState) then begin Result := fn_InternetGetConnectedState(lpdwFlags, dwReserved); end; FreeLibrary(hWininetDLL); end else raise Exception.Create('Unable to locate function InternetGetConnectedState in library ' + WininetDLL); end; procedure TForm1.Button1Click(Sender: TObject); const INTERNET_CONNECTION_MODEM = 1; INTERNET_CONNECTION_LAN = 2; INTERNET_CONNECTION_PROXY = 4; INTERNET_CONNECTION_MODEM_BUSY = 8; var dwConnectionTypes: DWORD; begin dwConnectionTypes := INTERNET_CONNECTION_MODEM + INTERNET_CONNECTION_LAN + INTERNET_CONNECTION_PROXY; if IsConnectedToInternet(@dwConnectionTypes) then ShowMessage('Connected.') else ShowMessage('Not Connected.') end; Программа на языке Delphi для проверки подключения к интернету. Она использует библиотеку wininet.dll и функцию InternetGetConnectedState для определения типа соединения. Функция IsConnectedToInternet принимает указатель на DWORD, который будет использоваться для хранения типа соединения(ов), и возвращает булевое значение, указывающее, является ли система подключенной к интернету или нет. Программа работает следующим образом:
Процедура Button1Click вызывается при клике кнопки. Она вызывает функцию IsConnectedToInternet с указателем на DWORD, содержащим типы соединений (MODEM, LAN и PROXY). Если система подключена к любому из этих соединений, она отображает сообщение об ошибке "Connected.". В противном случае, она отображает сообщение об ошибке "Not Connected.". Типы соединений определены как константы: INTERNET_CONNECTION_MODEM, INTERNET_CONNECTION_LAN, INTERNET_CONNECTION_PROXY и INTERNET_CONNECTION_MODEM_BUSY. Эти константы OR'ed вместе для создания переменной dwConnectionTypes, которая передается функции IsConnectedToInternet. Программа использует Windows API для проверки интернет-соединения, поэтому она будет работать только на платформах Windows. Некоторые предложения по улучшению:
В целом, это простой и эффективный способ проверки подключения системы к интернету с помощью Delphi. Определить, есть ли активное соединение с Интернетом в приложении на языке Delphi с помощью функции InternetGetConnectedState из библиотеки wininet.dll. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |