1

vb.net コードを使用して、アプリケーションを Windows ファイアウォールの例外リストに追加するにはどうすればよいですか?

ありがとう

4

1 に答える 1

0

Windows Vista および 7 は、ファイアウォールに例外を追加するために使用できるかなり堅牢なファイアウォール API を提供します。以下のコードは、コードが管理者権限で実行されている場合、指定されたアプリケーションの Windows ファイアウォールに例外を追加します。%systemroot%\system32\FirewallAPI.dllへの参照をアプリケーションに追加します。

Imports NetFwTypeLib

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    ' Create the Application we want to add to the exception list
    Dim appType As Type = Type.GetTypeFromProgID("HnetCfg.FwAuthorizedApplication")
    Dim app As INetFwAuthorizedApplication
    app = DirectCast(Activator.CreateInstance(appType), INetFwAuthorizedApplication)

    ' Set the application properties
    app.Name = "Negative0's Sandbox"
    app.ProcessImageFileName = "C:\Users\Negative0\vbsandbox2.exe"
    app.Enabled = True


    ' Get the firewall manager, so we can get the list of authorized apps
    Dim fwMgrType As Type = Type.GetTypeFromProgID("HnetCfg.FwMgr")
    Dim fwMgr As INetFwMgr
    fwMgr = DirectCast(Activator.CreateInstance(fwMgrType), INetFwMgr)

    ' Get the list of authorized applications from the Firewall Manager, so we can add our app to that list
    Dim apps As INetFwAuthorizedApplications
    apps = fwMgr.LocalPolicy.CurrentProfile.AuthorizedApplications
    apps.Add(app)

End Sub

ソース

于 2013-01-24T09:27:25.330 に答える