znalazlem kod, ktory powinien restartowac polaczenie z internetem na win xp
uses NETCONLib_TLB, ActiveX
procedure TForm1.ResetNIC(aConnection: string);
var
pEnum: IEnumVariant;
vNetCon: OleVARIANT;
dwRetrieved: Cardinal;
pUser: PUserType1;
NetSharingManager1: INetSharingManager;
begin
NetSharingManager1 := CoNetSharingManager.Create;
pEnum := (NetSharingManager1.EnumEveryConnection._NewEnum as IEnumVariant);
while (pEnum.Next(1, vNetCon, dwRetrieved) = S_OK) do
begin
(IUnknown(vNetCon) as INetConnection).GetProperties(pUser);
Memo1.Lines.Add(pUser.pszwName);
if pUser.pszwName = aConnection then
begin
INetConnection(IUnknown(vNetCon)).Disconnect;
INetConnection(IUnknown(vNetCon)).Connect;
break;
end;
end;
end;
NETCONLib_TLB otrzymalem traktujac hnetcfg.dll tlibimp.exe
Kompiluje sie, znajduje aConnection, ale wywolanie Disconnect czy Connect zwraca EAccessViolation in Ole32.dll
Ewentualnie jak wywolac xp-ekowe "napraw" dla danego polaczenia?