gpt4 book ai didi

delphi - 互联网连接状态是什么意思?

转载 作者:行者123 更新时间:2023-12-03 18:56:17 26 4
gpt4 key购买 nike

互联网连接状态是什么意思?

我不知道哪个状态代表路由器,数字3?

4是什么意思?

uses
WinInet;

const
MODEM = 1;
LAN = 2;
PROXY = 4;
BUSY = 8;

function GetConnectionKind(var strKind: string): Boolean;
var
flags: DWORD;
begin
strKind := '';
Result := InternetGetConnectedState(@flags, 0);
if Result then
begin
if (flags and MODEM) = MODEM then strKind := 'Modem';
if (flags and LAN) = LAN then strKind := 'LAN';
if (flags and PROXY) = PROXY then strKind := 'Proxy';
if (flags and BUSY) = BUSY then strKind := 'Modem Busy';
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
strKind: string;
begin
if GetConnectionKind(strKind) then
ShowMessage(strKind);
end;

最佳答案

[InternetGetConnectedState](http://msdn.microsoft.com/en-us/library/aa384702(VS.85%29.aspx)在第一个参数中返回一个位掩码,如下所示:

76543210  <-- bit numbers
|| ||||
|| |||+- INTERNET_CONNECTION_MODEM
|| ||+-- INTERNET_CONNECTION_LAN
|| |+--- INTERNET_CONNECTION_PROXY
|| +---- INTERNET_CONNECTION_MODEM_BUSY (No longer used)
|+------ INTERNET_CONNECTION_OFFLINE
+------- INTERNET_CONNECTION_CONFIGURED


如果设置了给定的位,则连接属于该类型。因此,如果位nr。 2已设置,您通过代理连接。

此外,该函数返回TRUE / FALSE值,指示您是否已连接到Internet。

您的代码中的值1、2、4、8对应于这些位的十进制值,从右边开始计数。

基本上,代码依次检查每个位,并将strKind变量设置为指示连接性质的文本。

您问“哪个是路由器?3?”,我假设您的意思是“我如何确定我的连接是通过路由器进行的?”。我想这将与LAN连接相同,大概是LAN在某个地方可以通过互联网访问互联网的桥梁。

关于delphi - 互联网连接状态是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1174326/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com