Installshield 添加应用程序到防火墙例外

function AddProcessFwauthor()
    STRING szCServer,szFServer,szTmp;
    OBJECT objFirewall, objProfile, objCS, objFS;
begin
    SdShowMsg("将服务器添加到Windows防火墙例外程序中,请稍后...", TRUE); 
    
    //要添加到防火墙程序的应用程序的完整路径:安装目录\WinClient.exe
    szCServer = TARGETDIR ^ ("WinClient" + ".exe");
    try     
        set objFirewall = CoCreateObject("HNetCfg.FwMgr");
    catch
    endcatch;

    try
        set objProfile = objFirewall.LocalPolicy.CurrentProfile;
        set objCS = CoCreateObject("HNetCfg.FwAuthorizedApplication");
        szTmp = szCServer;
        LongPathToQuote(szTmp, FALSE);
        objCS.ProcessImageFileName = szTmp;  
        
        //要添加到防火墙例外程序的显示名称
        objCS.Name = "WinClient";
        objCS.Scope = 0;
        objCS.RemoteAddresses = "*";
        objCS.IpVersion = 2;
        objCS.Enabled = TRUE;
        objProfile.AuthorizedApplications.Add(objCS);
    catch
    endcatch;
    SdShowMsg("将服务器添加到Windows防火墙例外程序中,请稍后...", FALSE);
    return TRUE;
end;

测试通过,yeah!

posted @ 2013-07-02 10:21  Go和分布式IM  阅读(561)  评论(0编辑  收藏  举报