Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Disable sit.adapteru přes Delphi

Ešte skús prezradiť či používaš DHCP, alebo nie.
Ak na PC používaš DHCP použi Win32_NetworkAdapterConfiguration a metódu ReleaseDHCPLease.
Ak nepoužívaš DHCP nemôžeš pomocou WMI zakázať sieťové pripojenie.

const
  wbemFlagForwardOnly = $00000020;
var
  FSWbemLocator : OLEVariant;
  FWMIService   : OLEVariant;
  FWbemObjectSet: OLEVariant;
  FWbemObject   : OLEVariant;
  oEnum         : IEnumvariant;
  iValue        : LongWord;
begin;
  FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
  FWMIService   := FSWbemLocator.ConnectServer('localhost', 'root\CIMV2', '', '');
  FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapterConfiguration Where IPEnabled = True','WQL',wbemFlagForwardOnly);
  oEnum         := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
  while oEnum.Next(1, FWbemObject, iValue) = 0 do
  begin
    FWbemObject.ReleaseDHCPLease();
    FWbemObject:=Unassigned;
  end;
end;
Pre znovu povolenie sieťového pripojenia použi RenewDHCPLease. Tiež môžeš pre všetky DHCP prenájmy(leases - neviem ako to preložiť...) použiť metódy ReleaseDHCPLeaseAll a RenewDHCPLeaseAll.

A hlavne si môžeš v slučke while..end vypisovať pre seba názov adaptéra a pýtať sa či zakázať alebo nie...

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny