Firewall açmak ve kaptmak procedure çalışmıyor.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
carsoft
Üye
Mesajlar: 138
Kayıt: 01 Ağu 2014 12:27

Firewall açmak ve kaptmak procedure çalışmıyor.

Mesaj gönderen carsoft »

Windows 7 Firewall'e kendisini ekleyen uygulamaların listesini bu şekilde alabiliyorum. ama Firewall'ı açıp kapatamıyorum.
Şöyle bir procedure var ama çalışmıyor.

Kod: Tümünü seç

private
    { Private declarations }
    fProfile                 : INetFwProfile;
    procedure SetFireWallEnabled(const Value : Boolean);

Kod: Tümünü seç

procedure TForm1.SetFireWallEnabled(const Value: Boolean);
begin
  if fProfile <> nil then
    fProfile.FirewallEnabled := Value;
end;

Kod: Tümünü seç

procedure TForm1.Button2Click(Sender: TObject);
var
  FireWall : INetFwMgr;
  ExceptionList : INetFwAuthorizedApplications;
  Collection : IEnumVariant;
  tmp : OleVariant;
  dummy : Cardinal;
begin
  CoInitialize(nil);

  FireWall := CreateOLEObject('HNetCfg.FwMgr') as INetFwMgr;
  ExceptionList := FireWall.LocalPolicy.CurrentProfile.AuthorizedApplications;
  Collection := ExceptionList._NewEnum as IEnumVariant;

    while (Collection.Next(1, tmp, dummy) = S_OK) do
      Mmo1.Lines.Add(tmp.Name + '->' + tmp.ProcessImageFileName + '->' + tmp.RemoteAddresses);

  Collection := nil;
  ExceptionList := nil;
  FireWall := nil;

  CoUnInitialize;

end;
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Firewall açmak ve kaptmak procedure çalışmıyor.

Mesaj gönderen SimaWB »

Bende aşağıdaki kod çalışıyor. Bir deneyin isterseniz:

Kod: Tümünü seç

procedure FirewallAcKapa(AcKapa: Boolean);
var
  fw: OleVariant;
begin
  fw := CreateOleObject('HNetCfg.FwPolicy2');
  fw.FirewallEnabled[1]:= AcKapa;
  fw.FirewallEnabled[2]:= AcKapa;
  fw.FirewallEnabled[4]:= AcKapa;
end;
There's no place like 127.0.0.1
carsoft
Üye
Mesajlar: 138
Kayıt: 01 Ağu 2014 12:27

Re: Firewall açmak ve kaptmak procedure çalışmıyor.

Mesaj gönderen carsoft »

evet denedim çalışıyor. teşşekürler SimaWB
Cevapla