-2
Windows에서 활성 네트워크 및 연결된 네트워크의 이름을 Delphi 코드로 찾으려합니다. 둘 이상있을 수 있습니다. 윈도우 10은 연결된 하나, NETGEAR21에서이 스크린 샷에서현재 네트워크 이름 얻기
. 누군가 대답 할 수 있으면 감사 할 것입니다.
Windows에서 활성 네트워크 및 연결된 네트워크의 이름을 Delphi 코드로 찾으려합니다. 둘 이상있을 수 있습니다. 윈도우 10은 연결된 하나, NETGEAR21에서이 스크린 샷에서현재 네트워크 이름 얻기
. 누군가 대답 할 수 있으면 감사 할 것입니다.
https://theroadtodelphi.com/2015/10/28/using-the-network-list-manager-nlm-api-from-delphi/에 설명 된대로 네트워크 목록 관리자에 대한 인터페이스를 먼저 만들면 작동합니다. 이렇게하면 필요한 파일 NETWORKLIST_TLB.pas가 생성됩니다. 최소 구현은 다음과 같습니다.
unit ListTypes;
interface
uses
ActiveX,
NETWORKLIST_TLB,
ComObj;
function SetUpAndGetConnections: String;
function GetConnections: string;
implementation
uses
SysUtils,
Windows;
function SetUpAndGetConnections: String;
begin
CoInitialize(nil);
try
Result := GetConnections;
finally
CoUninitialize;
end;
end;
function GetConnections: String;
var
NetworkListManager: INetworkListManager;
EnumNetworkConnections: IEnumNetworkConnections;
NetworkConnection : INetworkConnection;
pceltFetched: ULONG;
begin
NetworkListManager := CoNetworkListManager.Create;
EnumNetworkConnections := NetworkListManager.GetNetworkConnections();
Result := '';
while true do
begin
EnumNetworkConnections.Next(1, NetworkConnection, pceltFetched);
if (pceltFetched>0) then
Result := Result + NetworkConnection.GetNetwork.GetName + #13#10
else
Break;
end;
end;
end.
두 개 이상일 수 있습니다. 어느 것을 원하니? –
좋아, 내가 질문에 명확하게. 나는 목록을 원해. 흔히 단 하나의 네트워크입니다. 그러나 당신은 정확할 수 있습니다. –
무엇을 시도 했습니까? –