1.
var
; IEHWND:hWnd;
; IECaption:string;
; bHaveIE:Boolean;
; sIETitle:string;// ;sIETitle:='Microsoft Internet Explorer';
; function EnumWindowsProc(HWND:hWnd;param
ointer): Boolean; stdcall;
function EnumWindowsProc(HWND: hWnd; param
ointer): Boolean;
var buffer:array[0..255] of Char;
begin
; GetWindowText(hWnd,buffer,256);
; if StrComp(buffer,PChar(sIETitle)>0 then
; ;begin
; ; ; bHaveIE:=True;
; ; ; IEHWND:=hWnd;
; ; ; StrCopy(IECaption,buffer);
; ;end;
; Result:=True;
end;
调用:EnumWindows(@EnumWindowsProc,0);
2.取得当前窗口,判断其窗口标题,若包含sIETitle,说明是IE窗口.
3.这个不太清楚怎么取得地址栏,你可用findwindow或sendmessage来取得.我记得以前CAKK
做过,我没有做过.若不行,可先用标题来判断,不过不准确.别的软件都是取得状态栏,然后根
据用户自己定义的那些站点资料来判断,若在其中,则是被禁站点.
4.PostMessage(IEHWND,WM_CLOSE,0,0); // 将要关闭的窗口指定给POSTMESSAGE,就可关闭这个窗口.
5.
; try
; ; bExist:=RegF.OpenKey('SOFTWARE/Microsoft/Internet Explorer/main',True);
; ; if bExist then
; ; begin
; ; ; sStartPage:=RegF.ReadString('Start Page');//得到起始页
; ; ; sIETitle:=RegF.ReadString('Window Title');//得到IE默认标题.
; ; end;
; except
; ; sStartPage:='www.sohu.com';
; ; sIETitle:='Microsoft Internet Explorer';
; end;
; RegF.Free;
procedure RestoreIE;
var Regf:TRegistry;
begin
; Regf:=TRegistry.Create;
; Regf.RootKey:=HKEY_CURRENT_USER;
; RegF.OpenKey('SOFTWARE/Microsoft/Internet Explorer/main',True);
; RegF.WriteString('Search Page',sStartPage);//改写Search Page,一般这个与默认首页一样.
; RegF.WriteString('Start Page',sStartPage);//改写默认首页.
; RegF.CloseKey;
; RegF.Free;
end;
禁止或允许用户修改IE首页:
运行注册表编辑器(开始菜单-运行-regedit-确定), 打开
[HKEY_CURRENT_USER/Software/Policies/Microsoft/Internet Explorer/Control Panel],
其实一般此键是不存在的, 只存在[HKEY_CURRENT_USER/Software/Policies/Microsoft],
所以后面一截你要自己建立, 主键建立完后在Control Panel键下新建一个DWORD值数据, 键
名为HOMEPAGE(不分大小写), 键值为1. 此时你打开IE属性时可以发现它改首页设置的部分
已经不可用了. 当然如果你想先指定主页的话可以把HOMEPAGE的值改为0或删除它, 然后修
改主页设置, 再把HOMEPAGE改回来即可
这部分,建议你看看这个贴:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=585937