我想知道怎样让操作系统禁止某个程序运行,最好给出代码,我会给分多一些。
解决方案 »
- cs1.6的配置文件是config.cfg格式,我需要修改里边制定的内容
- 让状态栏信息显示几秒后消失效果!
- 想做一个语法分析器, 其中仅包含+ - * / () 并能检测语法错误, 输出结果,希望经验的人给个提示如何做?
- 请求支援!一个打印死机的问题!高手指点
- DBGRID 问题
- 在用ADOConnection连接上SQL Server后。如果一段时间后Server死掉了,如何及时知道。
- 中间层如何在运行设定ADOConnection?
- 国庆节放假超级不爽。
- API进行串口通讯,请指教?
- 请问 Delphi 6 在文件系统方面有没有什么新功能?
- 如何用pchar 指针得到一个string的首地址
- 我想写一个COM对象来实现IOBJECTWITHSIT,但我的系统没有这个接口?
HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Policies\System,
如果你发现Policies 下面没有System,则请在它下面新建一个主键,名字就是System,
然后在右边空白处新建一个 "DWORD",名字取为DisableRegistryTools,
再修改它的值为 "1",如果要恢复的话,
生成一个REG.REG文件:
REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Policies\System]
"DisableRegistryTools"=dword:00000000
禁止使用注册表
procedure TForm1.Button1Click(Sender: TObject);
const
Key='\SoftWare\Microsoft\Windows\CurrentVersion\Policies\System';
var
myReg:TRegistry;
begin
myReg:=TRegistry.Create;
with myReg do
try
RootKey:=HKEY_CURRENT_USER;
OpenKey(Key,True);
WriteInteger('DisableRegistryTools',1);
finally
free;
end;
end;
//允许使用注册表
procedure TForm1.Button2Click(Sender: TObject);
const
Key='\SoftWare\Microsoft\Windows\CurrentVersion\Policies\System';
var
myReg:TRegistry;
begin
myReg:=TRegistry.Create;
with myReg do
try
RootKey:=HKEY_CURRENT_USER;
OpenKey(Key,True);
WriteInteger('DisableRegistryTools',0);
finally
free;
end;
end;
2、考虑用户的水平,如果低级,则隐藏程序。当然程序组中也给她删掉
3、监控。看来你的意思是监控所有程序了,所以还是同意楼上一位朋友说的,通过查找窗口,如果不需要它运行,就发消息WM_Close
现在想马上混到三颗星,题意可能没理解清楚,答得太匆忙,实在对不起
不过星星多少并不代表水平高低:)
这个问题我应该能用程序做出来,但你这样子说我,我不会再回复这个问题了!
修改PE文件头,万一有一天你看到出错信息,然后把该程序删除了呢?发送消息WM_CLOSE,那万一那个程序屏蔽了该消息呢?杀进程?那万一该进程被注入到别的进程空间了呢?注册表?很多人都会吧?
听楼上2位的话,用SHELL钩子好了:)
对不起,多有得罪各位!!!
原来的值是 ""%1" %*",
将你的程序加到前面完成,以后所有的程序都让你的程序来接管了。
(呵呵,有点象木马)。我试过,完全可以。
local user->system->Restrictions->Run Only allowed Windows application
可以设置那些程序可以执行。
在windows2000英文版中测试通过其他版本没试过
不要忘了加入poledit.exe否则无法恢复