Delphi设置ie可信站点 我想要通过delphi做一个程序,修改ie的相关设置,如下: 增加 "安全 "选项卡中的 "受信任站点 "里面的信任站点; 安全选项卡中,受信任站点的自定义级别里面的相关设置,如运行activex控件等 如何做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以通过Internet Security Manager Object来实现你想要的。DLL: Urlmon.dllCLSID: CLSID_InternetSecurityManagerHope it helps.//Ali 程序调用“C:\WINDOWS\system32\inetcpl.cpl”文件,然后按句柄用delphi来控制该文件。 unit UnitMain;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Registry;type TFormMain = class(TForm) procedure FormCreate(Sender: TObject); published BtnOK: TButton; BtnCancel: TButton; procedure BtnOKClick(Sender: TObject); procedure BtnCancelClick(Sender: TObject); procedure ModIESafeConfig(); procedure AddTrustSiteUrl(siteUrl: string); procedure AddTrustSiteIP(siteIP: string); procedure ModPopWindowCfg(); private { Private declarations } IEConfigPathStr, TrustSiteUrlKeyStr, TrustSiteIPKeyStr, PopWindowKeyStr: string; public { Public declarations } end;var FormMain: TFormMain;implementation{$R *.dfm}procedure TFormMain.ModIESafeConfig();var Reg: TRegistry;begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_CURRENT_USER; if not Reg.OpenKey(IEConfigPathStr, False) then begin ShowMessage('Error find Key:' + Reg.CurrentPath + IEConfigPathStr); Reg.CreateKey(IEConfigPathStr); end; if not Reg.OpenKey(IEConfigPathStr, False) then begin ShowMessage('Error in Opening Created Key'); end else begin Reg.WriteInteger('1001', DWORD($00000000)); Reg.WriteInteger('1004', DWORD($00000000)); Reg.WriteInteger('1200', DWORD($00000000)); Reg.WriteInteger('1201', DWORD($00000000)); Reg.WriteInteger('1400', DWORD($00000000)); Reg.WriteInteger('1402', DWORD($00000000)); Reg.WriteInteger('1405', DWORD($00000000)); Reg.WriteInteger('1407', DWORD($00000000)); Reg.WriteInteger('1809', DWORD($00000003)); Reg.WriteInteger('2201', DWORD($00000000)); Reg.WriteInteger('2000', DWORD($00000000)); end; finally Reg.Free; end;end;procedure TFormMain.AddTrustSiteUrl(siteUrl: string);var Reg: TRegistry; urlFirst: string;begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_CURRENT_USER; Reg.OpenKey(TrustSiteUrlKeyStr, true); urlFirst := decodeUrlFirst(siteUrl); if (Length(siteUrl) > 0) and (Length(urlFirst) > 0) then begin Reg.OpenKey(siteUrl, true); Reg.OpenKey(urlFirst, true); Reg.WriteInteger('http', DWORD($00000002)); end; finally Reg.Free; end;end;procedure TFormMain.AddTrustSiteIP(siteIP: string);var i: integer; b: boolean; str: string; Reg: TRegistry;begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_CURRENT_USER; Reg.OpenKey(TrustSiteIPKeyStr, true); i := 1; b := true; while b do begin if Reg.KeyExists('Range' + IntToStr(i)) then begin Reg.OpenKey('Range' + IntToStr(i), false); str := Reg.ReadString(':Range'); if (str = siteIP) then begin b := false; end else begin Inc(i); end; Reg.RootKey := HKEY_CURRENT_USER; Reg.OpenKey(TrustSiteIPKeyStr, true); end else begin b := false; end; end; Reg.RootKey := HKEY_CURRENT_USER; Reg.OpenKey(TrustSiteIPKeyStr, true); Reg.OpenKey('Range' + IntToStr(i), true); Reg.WriteInteger('http', DWORD($00000002)); Reg.WriteString(':Range', siteIP); finally Reg.Free; end;end;procedure TFormMain.ModPopWindowCfg();var Reg: TRegistry;begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_CURRENT_USER; Reg.OpenKey(PopWindowKeyStr, true); Reg.WriteString('PopupMgr', 'no'); finally Reg.Free; end;end;procedure TFormMain.FormCreate(Sender: TObject);begin IEConfigPathStr := '\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2'; TrustSiteUrlKeyStr := '\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\'; TrustSiteIPKeyStr := '\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\'; PopWindowKeyStr := '\Software\Microsoft\Internet Explorer\New Windows';end;procedure TFormMain.BtnOKClick(Sender: TObject);begin ModIESafeConfig(); AddTrustSiteUrl('www.186.com'); AddTrustSiteIP('186.186.186.186'); ModPopWindowCfg(); ShowMessage('设置完成,请启动IE测试!');end;procedure TFormMain.BtnCancelClick(Sender: TObject);begin FormMain.Close;end;end. 如何判断文件是否存在? 今天在公司受到不平等对待,明天辞职走人,开始找工作..... 用DELPHI做标签打印??? 急:请问怎样才能最快的学好DELPHI??? 线程最多只能达到16个吗? 在delphi中如何建立一个doc文件? win98和win2000字体显示问题 请数据库高手进来!--小弟在线等待 注册表编辑器被锁定,如何解除? BCB请进来,关于类型强制的! 已知一个窗体句柄,获取窗体某一个属性的值 SQL语句查询
DLL: Urlmon.dll
CLSID: CLSID_InternetSecurityManagerHope it helps.//Ali
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Registry;type
TFormMain = class(TForm)
procedure FormCreate(Sender: TObject);
published
BtnOK: TButton;
BtnCancel: TButton;
procedure BtnOKClick(Sender: TObject);
procedure BtnCancelClick(Sender: TObject);
procedure ModIESafeConfig();
procedure AddTrustSiteUrl(siteUrl: string);
procedure AddTrustSiteIP(siteIP: string);
procedure ModPopWindowCfg();
private
{ Private declarations }
IEConfigPathStr, TrustSiteUrlKeyStr, TrustSiteIPKeyStr, PopWindowKeyStr: string;
public
{ Public declarations }
end;var
FormMain: TFormMain;implementation{$R *.dfm}procedure TFormMain.ModIESafeConfig();
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
if not Reg.OpenKey(IEConfigPathStr, False) then
begin
ShowMessage('Error find Key:' + Reg.CurrentPath + IEConfigPathStr);
Reg.CreateKey(IEConfigPathStr);
end;
if not Reg.OpenKey(IEConfigPathStr, False) then
begin
ShowMessage('Error in Opening Created Key');
end else begin
Reg.WriteInteger('1001', DWORD($00000000));
Reg.WriteInteger('1004', DWORD($00000000));
Reg.WriteInteger('1200', DWORD($00000000));
Reg.WriteInteger('1201', DWORD($00000000));
Reg.WriteInteger('1400', DWORD($00000000));
Reg.WriteInteger('1402', DWORD($00000000));
Reg.WriteInteger('1405', DWORD($00000000));
Reg.WriteInteger('1407', DWORD($00000000));
Reg.WriteInteger('1809', DWORD($00000003));
Reg.WriteInteger('2201', DWORD($00000000));
Reg.WriteInteger('2000', DWORD($00000000));
end;
finally
Reg.Free;
end;
end;procedure TFormMain.AddTrustSiteUrl(siteUrl: string);
var
Reg: TRegistry;
urlFirst: string;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey(TrustSiteUrlKeyStr, true);
urlFirst := decodeUrlFirst(siteUrl);
if (Length(siteUrl) > 0) and (Length(urlFirst) > 0) then
begin
Reg.OpenKey(siteUrl, true);
Reg.OpenKey(urlFirst, true);
Reg.WriteInteger('http', DWORD($00000002));
end;
finally
Reg.Free;
end;
end;procedure TFormMain.AddTrustSiteIP(siteIP: string);
var
i: integer;
b: boolean;
str: string;
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey(TrustSiteIPKeyStr, true);
i := 1;
b := true;
while b do
begin
if Reg.KeyExists('Range' + IntToStr(i)) then
begin
Reg.OpenKey('Range' + IntToStr(i), false);
str := Reg.ReadString(':Range');
if (str = siteIP) then
begin
b := false;
end else begin
Inc(i);
end;
Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey(TrustSiteIPKeyStr, true);
end else begin
b := false;
end;
end; Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey(TrustSiteIPKeyStr, true);
Reg.OpenKey('Range' + IntToStr(i), true);
Reg.WriteInteger('http', DWORD($00000002));
Reg.WriteString(':Range', siteIP);
finally
Reg.Free;
end;
end;procedure TFormMain.ModPopWindowCfg();
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey(PopWindowKeyStr, true);
Reg.WriteString('PopupMgr', 'no');
finally
Reg.Free;
end;
end;procedure TFormMain.FormCreate(Sender: TObject);
begin
IEConfigPathStr := '\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2';
TrustSiteUrlKeyStr := '\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\';
TrustSiteIPKeyStr := '\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\';
PopWindowKeyStr := '\Software\Microsoft\Internet Explorer\New Windows';
end;procedure TFormMain.BtnOKClick(Sender: TObject);
begin
ModIESafeConfig();
AddTrustSiteUrl('www.186.com');
AddTrustSiteIP('186.186.186.186');
ModPopWindowCfg();
ShowMessage('设置完成,请启动IE测试!');
end;procedure TFormMain.BtnCancelClick(Sender: TObject);
begin
FormMain.Close;
end;end.