mirror of
https://github.com/hakril/PythonForWindows
synced 2026-06-08 14:31:45 +00:00
33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
import sys
|
|
import os.path
|
|
import pprint
|
|
sys.path.append(os.path.abspath(__file__ + "\..\.."))
|
|
|
|
import windows
|
|
import windows.generated_def as gdef
|
|
from windows.generated_def import interfaces
|
|
|
|
# This code is a simple version of the firewall code in windows.winoject.network
|
|
print("Initialisation of COM")
|
|
windows.com.init()
|
|
print("Creating INetFwPolicy2 variable")
|
|
firewall = interfaces.INetFwPolicy2()
|
|
print("{0} (value = {1})".format(firewall, firewall.value))
|
|
print("")
|
|
|
|
print("Generating CLSID")
|
|
NetFwPolicy2CLSID = windows.com.IID.from_string("E2B3C97F-6AE1-41AC-817A-F6F92166D7DD")
|
|
print(NetFwPolicy2CLSID)
|
|
print("")
|
|
|
|
print("Creating COM instance")
|
|
windows.com.create_instance(NetFwPolicy2CLSID, firewall)
|
|
print("{0} (value = 0x{1:0})".format(firewall, firewall.value))
|
|
print("")
|
|
|
|
print("Checking for enabled profiles")
|
|
for profile in [gdef.NET_FW_PROFILE2_DOMAIN, gdef.NET_FW_PROFILE2_PRIVATE, gdef.NET_FW_PROFILE2_PUBLIC]:
|
|
enabled = gdef.VARIANT_BOOL()
|
|
firewall.get_FirewallEnabled(profile, enabled)
|
|
print(" * {0} -> {1}".format(profile, enabled.value))
|