Re: Windows Firewall - Eintrag erstellen / löschen / ändern
Zitat:
|
Re: Windows Firewall - Eintrag erstellen / löschen / ändern
Hi!
Ich habe nun diese genommen:
Delphi-Quellcode:
Und damit funktioniert der Test vollkommen zufriedenstellend!
function IsWindowsXP: Boolean;
begin Result := (Win32MajorVersion = 5) and ( Win32MinorVersion = 1); end; Danke für deine Mühe - ich werde es im Beitrag ergänzen/austauschen. @Sirius: Ich glaube die Aussage war nur auf die IsWindowsFirewallServiceActive-Funktion bezogen... Ciao, Frederic |
Re: Windows Firewall - Eintrag erstellen / löschen / ändern
Du musst auf SP2 oder höher testen. Sonst kommt wieder ein TRUE raus!
|
Re: Windows Firewall - Eintrag erstellen / löschen / ändern
Hi!
Ist das hier eine praktikable Lösung? Es sieht nicht danach aus, aber was besseres ist mir nicht präsent...
Delphi-Quellcode:
function IsWindowsXP: Boolean;
begin Result := (Win32MajorVersion = 5) and ( Win32MinorVersion = 1) and (strtoint(copy(Win32CSDVersion,length(Win32CSDVersion),1))>=2); end; Ciao, Frederic |
Re: Windows Firewall - Eintrag erstellen / löschen / ändern
Falls irgend möglich würde ich auf das Abfragen der Windows Version verzichten.
Beispiel: Die Funktion GetDefaultPrinterA() gibt es erst ab Windows 2000 (und höher). Man könnte jetzt die Windowsversion abfragen und dann so reagieren: Wenn WindowsVersion >= 2000 dann verwende GetDefaultPrinterA() anderfalls schau in die Registry oder die Win.ini. Eine andere Strategie wäre mit GetProcAddress() zu prüfen, ob es die Funktion GetDefaultPrinterA() gibt. Falls ja, benütze die Funktion, falls nein, erfolgt ein Fallback auf die älteren Alternativen. Eine (unsichere) Abfrage der Windows Version wird hier nicht nötigt. Übertragen auf die Firewall Geschichte heisst das: Zuerst prüfen, ob die modernste API verfügbar ist (also ob die ProgID 'HNetCfg.FwMgr' registriert ist). Falls nicht arbeite mit der API der älteren Windows Versionen. Villeicht kommt ja ein Servicepack, der fehlende Funktionalität in den älteren Windowsversionen nachrüstet. ok, ich glaube nicht mehr an den Weihnachtsmann, aber so ist man auf alles gerüstet :-) |
Re: Windows Firewall - Eintrag erstellen / löschen / ändern
Hier geht es nicht um die Verfügbarkeit einer API Funktion, sondern, ob ein Dienst eine FW implementiert hat oder nur die "Gemeinsame Internetnutzung". In XP < SP2 gibt es keine FW, und so würde ohne die Abfrage, trotzdem ermittelt, dass eine Windows Firewall existiert.
Natürlich geht es hier nur um die Windows Interne FW. 3rd Party FW sind nicht abgedeckt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz