0

サーバー/クライアントの TCP 通信に取り組んでいますが、正常に動作しますが、ソフトウェアを Windows ファイアウォールの例外に追加するアプリケーションを作成することはできません。サンプルを見つけましたが、うまくいきませんでした。

私のコード:

Imports NetFwTypeLib
Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
        Dim appType As Type = Type.GetTypeFromProgID("HnetCfg.FwAuthorizedApplication")
        Dim app As INetFwAuthorizedApplication
        app = DirectCast(Activator.CreateInstance(appType), INetFwAuthorizedApplication)

        ' Set the application properties
        app.Name = "My App"
        app.ProcessImageFileName = "c:\users\klein\documents\visual studio 2012\projects\tcp_server\tcp_server\bin\debug\tcp_server.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
End Class

コードは完全に実行され、例外は検出されませんでした。ただし、フォームがロードされた後、プログラムはリストされません。

ありがとうございました。

4

1 に答える 1

0

これを見てください:

C# を使用してプログラムで Windows ファイアウォールに例外を追加する

于 2012-11-18T02:04:55.507 に答える