Летит компьютеp с 9-го этажа, и дyмает: "Вот бы щас зависнyть..."
Воспользуемся функцией GetSystemMetrics(), переслав ей флаг SM_NETWORK:
procedure TForm1.Button2Click(Sender: TObject);
beginif GetSystemMetrics(SM_NETWORK) and $01 = $01 then
ShowMessage('Machine is attached to network')
else
ShowMessage('Machine is not attached to network');
end;
Here's the translation of the text into Russian:
Код - процедура на языке Delphi, которая проверяет, подключен ли компьютер к сети. Она использует функцию GetSystemMetrics с флагом SM_NETWORK, чтобы определить это.
Разбивка кода:
Функция GetSystemMetrics возвращает информацию о системе, например, разрешение экрана или количество процессоров.
Флаг SM_NETWORK используется для указания, что мы хотим узнать, подключен ли компьютер к сети.
Часть and 0x01 - битовая операция AND, которая проверяет, равна ли результат функции GetSystemMetrics(SM_NETWORK) значению $01, которое возвращает, когда компьютер подключен к сети.
Процедура затем отображает сообщение с текстом "Машина подключена к сети" или "Машина не подключена к сети", в зависимости от результата проверки.
Альтернативное решение с использованием компонента TNetworkInterface Delphi:
procedure TForm1.Button2Click(Sender: TObject);
begin
if TNetworkInterface.ListInterfaces.Count > 0 then
ShowMessage('Машина подключена к сети')
else
ShowMessage('Машина не подключена к сети');
end;
В этом коде используется компонент TNetworkInterface, чтобы список всех сетевых интерфейсов на машине. Если есть какие-либо интерфейсы в списке, это означает, что машина подключена к сети.
Обратите внимание, что это альтернативное решение может требовать добавления дополнительных компонентов или библиотек в проект, в зависимости от версии Delphi, которая используется.
Статья рассказывает о способе определения, является ли компьютер подключен к сети, используя функцию GetSystemMetrics и флаг SM_NETWORK.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS