• 微软原版系统

  • 一键重装系统

  • 纯净系统

  • 在线技术客服

魔法猪系统重装大师 一键在线制作启动 U 盘 PE 系统 用一键重装的魔法拯救失去灵魂的系统
当前位置:首页 > 教程 > 电脑教程

在Dlphi中添加删除ISAPIFilter实现代码

时间:2015年04月02日 15:33:37    来源:魔法猪系统重装大师官网    人气:12792
 function SplitString(Source,ch: String): TStringList;
var
temp:String;
i:Integer;
begin
Result:=TStringList.Create;
if Source = '' then Exit;
temp := Source;
i := pos(ch,Source);
while i <> 0 do
begin
Result.add(copy(temp,0,i-1));
Delete(temp,1,i);
i := pos(ch,temp);
end;
Result.add(temp);
end;

//Add a global IIS isapi filter
function AddISAPIFilterToIISGlobal(FilterName, FilterPath, FilterDesc:String):Boolean;
var
IISNameSpace,
IISWebService,
IISFilters,
IISFilter:Variant;
begin
Result := True;
try
try
IISNameSpace := CreateOleObject('IISNamespace');
IISWebService := IISNameSpace.GetObject('IIsWebService', 'localhost/w3svc');
IISFilters := IISWebService.GetObject('IISFilters', 'Filters');
IISFilters.FilterLoadOrder := IISFilters.FilterLoadOrder + ',' + FilterName;
IISFilters.SetInfo;
IISFilter := IISFilters.Create('IIsFilter',FilterName);
IISFilter.FilterPath := FilterPath;
IISFilter.FilterDescription := FilterDesc;
IISFilter.SetInfo;
except
Result := False;
end;
finally
IISFilter := Unassigned;
IISFilters := Unassigned;
IISWebService := Unassigned;
IISNameSpace := Unassigned;
end;
end;
//Add a isapi IIS filter to default web site
function AddISAPIFilterToIISDefaultSite(FilterName, FilterPath, FilterDesc:String):Boolean;
var
IISNameSpace,
IISWebService,
IISWebServer,
IISFilters,
IISFilter:Variant;
begin
Result := True;
try
try
IISNameSpace := CreateOleObject('IISNamespace');
IISWebService := IISNameSpace.GetObject('IISWebService', 'localhost/w3svc');
IISWebServer := IISWebService.GetObject('IISWebServer', '1');
IISFilters := IISWebServer.GetObject('IISFilters', 'Filters');
IISFilters.FilterLoadOrder := IISFilters.FilterLoadOrder + ',' + FilterName;
IISFilters.SetInfo;
IISFilter := IISFilters.Create('IISFilter',FilterName);
IISFilter.FilterPath := FilterPath;
IISFilter.FilterDescription := FilterDesc;
IISFilter.SetInfo;
except
Result := False;
end;
finally
IISFilter := Unassigned;
IISFilters := Unassigned;
IISWebService := Unassigned;
IISNameSpace := Unassigned;
end;
end;

function RemoveISAPIFilterFromIISGlobal(FilterName:String):Boolean;
var
IISNameSpace,
IISWebService,
IISFilters,
LoadOrder:Variant;
List:TStringList;
I:Integer;
begin
Result := True;
List := nil;
LoadOrder := '';
try
try
IISNameSpace := CreateOleObject('IISNamespace');
IISWebService := IISNameSpace.GetObject('IIsWebService', 'localhost/w3svc');
IISFilters := IISWebService.GetObject('IISFilters', 'Filters');
List := SplitString(IISFilters.FilterLoadOrder, ',');
for I := 0 to List.Count - 1 do
begin
if FilterName <> List[I] then
begin
if I <> List.Count - 1 then
LoadOrder := LoadOrder + List[I] + ','
else
LoadOrder := LoadOrder + List[I];
end;
end;
if IISFilters.FilterLoadOrder <> LoadOrder then
begin
IISFilters.FilterLoadOrder := LoadOrder;
IISFilters.SetInfo;
end;
IISFilters.Delete('IISFilters', FilterName);
except
Result := False;
end;
finally
LoadOrder := Unassigned;
IISFilters := Unassigned;
IISWebService := Unassigned;
IISNameSpace := Unassigned;
if List <> nil then
List.Free;
end;
end;
function RemoveISAPIFilterFromIISDefaultSite(FilterName:String):Boolean;
var
IISNameSpace,
IISWebService,
IISWebServer,
IISFilters,
LoadOrder:Variant;
List:TStringList;
I:Integer;
begin
Result := True;
List := nil;
LoadOrder := '';
try
try
IISNameSpace := CreateOleObject('IISNamespace');
IISWebService := IISNameSpace.GetObject('IIsWebService', 'localhost/w3svc');
IISWebServer := IISWebService.GetObject('IISWebServer', '1');
IISFilters := IISWebServer.GetObject('IISFilters', 'Filters');
List := SplitString(IISFilters.FilterLoadOrder, ',');
for I := 0 to List.Count - 1 do
begin
if FilterName <> List[I] then
begin
if I <> List.Count - 1 then
LoadOrder := LoadOrder + List[I] + ','
else
LoadOrder := LoadOrder + List[I];
end;
end;
if IISFilters.FilterLoadOrder <> LoadOrder then
begin
IISFilters.FilterLoadOrder := LoadOrder;
IISFilters.SetInfo;
end;
IISFilters.Delete('IISFilters', FilterName);
except
Result := False;
end;
finally
LoadOrder := Unassigned;
IISFilters := Unassigned;
IISWebServer := Unassigned;
IISWebService := Unassigned;
IISNameSpace := Unassigned;
if List <> nil then
List.Free;
end;
end;
在,Dlphi,中,添加,删除,ISAPIFilter,实现
栏目:电脑教程 阅读:1000 2023/12/27
Win7教程 更多>>
U盘教程 更多>>
Win10教程 更多>>
魔法猪学院 更多>>

Copyright © 2015-2023 魔法猪 魔法猪系统重装大师

本站发布的系统仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买微软正版软件。

在线客服 查看微信 返回顶部