首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

"ISAPI筛选器" 自动安装 自动卸载 代码!

2012-03-31 
求助ISAPI筛选器 自动安装 自动卸载 代码!!!我想写个ISAPI筛选器 安装-卸载器但是在网上找个N久没有发

求助 "ISAPI筛选器" 自动安装 自动卸载 代码!!!
我想写个ISAPI筛选器 "安装-卸载器"

但是在网上找个N久没有发现这个ISAPI筛选器怎么使用代码安装和卸载..

都是手工到IIS里面安装.!

我看到 ISAPI_Rewrite的安装包,可以自动添加到IIS里面去.

请大家帮助我查找下代码,怎么去安装和卸载.谢谢大家了..!

   


[解决办法]
http://blogs.msdn.com/david.wang/archive/2006/03/02/HOWTO-Add-and-Remove-an-ISAPI-Filter-using-JScript.aspx

这上面有jscript实现的代码

下面这个是我用vb写的

vc的自己想想就知道了

Public Function FilterExist(ByVal SiteName As String, ByVal strFilterName As String) As Boolean
On Error Resume Next
FilterExist = True
Dim objFilter
Set objFilter = GetObject("IIS://localhost/W3SVC/" & SiteName & "/Filters/" & strFilterName)
If Err Then
FilterExist = False
Err.Clear
Set objFilter = Nothing
Exit Function
End If
End Function

Public Function FilterExists(ByVal SiteName As String, ByVal strFilterName As String) As Boolean
On Error Resume Next
FilterExists = False
Dim objFilters
Dim arr, i
Set objFilters = GetObject("IIS://localhost/W3SVC/" & SiteName & "/Filters")
If Err Then
FilterExists = False
Err.Clear
Exit Function
End If
If objFilters.FilterLoadOrder <> "" Then
arr = Split(objFilters.FilterLoadOrder, ",")
For i = 0 To UBound(arr)
If UCase(arr(i)) = UCase(strFilterName) Then
FilterExists = True
Set objFilters = Nothing
Exit Function
End If
Next
End If
End Function

Public Function AddFilter(ByVal SiteName As String, ByVal strFilterName As String, ByVal strFilterPath As String, ByVal strFilterDesc As String, Optional ByVal Flags As Boolean = False) As Boolean
On Error Resume Next
AddFilter = False
Dim objFilter
Dim objFilters
Set objFilters = GetObject("IIS://localhost/W3SVC/" & SiteName & "/Filters")
If Err Then
AddFilter = False
Err.Clear
Set objFilters = GetObject("IIS://localhost/W3SVC/" & SiteName).Create("IIsFilters", "Filters")
End If
If FilterExists(SiteName, strFilterName) = False Then
If objFilters.FilterLoadOrder <> "" Then
objFilters.FilterLoadOrder = objFilters.FilterLoadOrder & "," & strFilterName
Else
objFilters.FilterLoadOrder = strFilterName
End If
objFilters.SetInfo
End If
If FilterExist(SiteName, strFilterName) = True Then
Set objFilter = GetObject("IIS://localhost/W3SVC/" & SiteName & "/Filters/" & strFilterName)
objFilter.FilterPath = strFilterPath
objFilter.FilterDescription = strFilterDesc
If Flags Then
objFilter.FilterFlags = "101220291"
objFilter.FilterState = "1"
End If
objFilter.SetInfo
Set objFilter = Nothing
AddFilter = True
Else
Set objFilter = objFilters.Create("IIsFilter", strFilterName)
objFilter.FilterPath = strFilterPath
objFilter.FilterDescription = strFilterDesc
If Flags Then
objFilter.FilterFlags = "101220291"
objFilter.FilterState = "1"


End If
objFilter.SetInfo
Set objFilter = Nothing
AddFilter = True
End If
Set objFilters = Nothing
End Function

Public Function RemoveFilter(ByVal SiteName As String, ByVal strFilterName As String) As Boolean
On Error Resume Next
RemoveFilter = False
Dim objFilters
Dim arr, i
Dim strNewFilterLoadOrder
strNewFilterLoadOrder = ""
Set objFilters = GetObject("IIS://localhost/W3SVC/" & SiteName & "/Filters")
If Err Then
RemoveFilter = False
Err.Clear
End If
If objFilters.FilterLoadOrder <> "" Then
arr = Split(objFilters.FilterLoadOrder, ",")
For i = 0 To UBound(arr)
If UCase(arr(i)) <> UCase(strFilterName) Then
If strNewFilterLoadOrder = "" Then
strNewFilterLoadOrder = arr(i)
Else
strNewFilterLoadOrder = strNewFilterLoadOrder & "," & arr(i)
End If
End If
Next
End If
objFilters.Delete "IIsFilter", strFilterName
objFilters.FilterLoadOrder = strNewFilterLoadOrder
objFilters.SetInfo
Set objFilters = Nothing
If Not Err Then RemoveFilter = True
End Function

Public Function AddServiceExt(ByVal ExtName As String, ByVal ExtPath As String) As Boolean
Dim objExt
If ExtName = "" Or ExtPath = "" Then
AddServiceExt = False
Exit Function
End If
Set objExt = GetObject("IIS://localhost/W3SVC")

End Function

热点排行