急征解决方法!!!请问谁对IE编程比较熟悉?我要实现“不能随便修改主页设置”的功能,见内....(200分)

  • 主题发起人 主题发起人 HJ
  • 开始时间 开始时间
H

HJ

Unregistered / Unconfirmed
GUEST, unregistred user!
1、坚决杜绝一些不健康网站自动修改主页设置。

2、最好超级用户可以修改。


呵呵,200分该够了吧??不够再加!!!
 
给分吧!
可以制作一个监视IE的程序,监视有关IE的设置是否有改变,如改变,则自动恢复之。
这个程序有个Login in功能,超级用户只有Login in这个监视程序,才能关闭其自动恢复功能。
mail:liutan500@sina.com

 
电脑报中有IE的注册表设置,网吧的管理软件就是这样做的
 
我已经写了一个小程序,可以定时恢复主页设置.没有管理功能,也还没实现隐蔽自己的功能。

我希望在终端用户(只有)IE使用权的用户无法更改,但服务器端也无须维护。最多可以在

用IE维护。呵呵,是不是比较狠啊,欢迎兄弟们继续。
 
to liutan:
你的程序有源码么?
我最近也在写这样一个程序,mail给我吧,
可以的话我追加 200,
另外谁知道按流量收费系统怎么做。。。。。
 
建议:自己写一个小程序,后台运行,监视注册表的那个键值的变化,一旦有修改,就改了回来。:)
注册表监视函数名字我忘记了~~~~~~~这样的话,不需要定时器,呵呵,很简单的,占用资源少。

要实现超级用户的修改,很简单的,有一个的登录功能,判断一下用户和密码就可以了。
 
>>Kingron:
》监视注册表的那个键值的变化,一旦有修改,就改了回来。
我已经实现了,不过用的是定时器。有注册表监视函数?
我晚上狠看了以下TRegedit.pas,好象没有?
而且一直没找到能有查找功能的函数(在注册表中查找某个字符串----不确定其basekey哦!),
还没有很好的解决办法。
 
To HJ:
对!我的机器不在这里,那个API我忘记了,不过在我的主页的资料包里面有一个注册表监视
程序!!!!!里面就有哦~~~~~~~
http://kingron.myetang.com 在那个猛料包里面了.那位下载了的,就在包裹里面找一下贴
出来吧~~~~~~~~
 
我去看看先啊````````````````
 
不错,Down下了,正在偷偷的看(我的工作不是这个,呵呵)。找到即发上来。
谢谢Kingron!!
 
找到了,有一个IETools.pas可以对IE进行详尽的操作。
但是什么“注册表监视函数”啊,没有。
其实最需要的只是“注册表查找函数”,达到象注册 表菜单里的“查找”一样的功能,即多级查找
 
好痛苦啊,我说了为什么不相信我?在猛料包里面噢!

Windows API里面有的RegNotifyChangeKeyValue!

我特地帮你找了一下:

在猛料包技巧1的Windows API下面:监视注册表的某一个位置的值的变化

RegNotifyChangeKeyValue

我曾经做过一测试的程序,不过有点问题,我把全部代码贴出来吧:
unit reg1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,registry,
StdCtrls;
const
machine_rootkey=HKEY_LOCAL_MACHINE;
user_rootkey=HKEY_CURRENT_USER;
defaultuser_rootkey=HKEY_USERS;
subkey1='SOFTWARE/MICROSOFT/WINDOWS/CURRENTVERSION/RUN';
subkey2='SOFTWARE/MICROSOFT/WINDOWS/CURRENTVERSION/Run-';
function regmonitor(hkeys:hkey;keys:string):boolean;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}
function regmonitor(hkeys:hkey;keys:string):boolean;
var
reg1:tregistry;
begin
reg1:=tregistry.Create;
reg1.RootKey:=hkeys;
try
reg1.OpenKey(keys,false);
//我的问题是在这下面的几句,当我执行时,如果注册表里我指定的键没被改变过,程序
//好像失去响应一样,你试试就知道了,也许要用多线程才行,不过我后来没去试了
application.ProcessMessages;
if RegNotifyChangeKeyValue(reg1.CurrentKey,false,REG_NOTIFY_CHANGE_NAME+REG_NOTIFY_CHANGE_LAST_SET,0,false)=ERROR_SUCCESS then
result:=true
else
result:=false;
finally
reg1.CloseKey;
reg1.Free;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
memo1.Lines.Clear;
if regmonitor(machine_rootkey,subkey1) then
memo1.Lines.Add('registry is monitored')
else
memo1.Lines.Add('registry monitors fail');

end;

end.
 
为了节省系统资源,建议这样做,每次开启ie 程序运行,检测,处理,退出!!!!改改注册表就行了,但是有的站点会下载病毒给你
而不是用java 改你的ie 设置,麻烦!!!
 
呵呵,感谢大家的关注!
限制网页不难,难在限制网站,这得是个防火墙。
平时也没多少时间花在这些地方,而且时间一过,兴趣也没了。
呵,谢谢大家的热心关注!!!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部