有!修改注册表的HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\RestrictRun下面的就可以!
当然还得在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer下面建立一个RestrictRun=Dword(1).
类似于:
1="regedit.exe"
2="notepad.exe"
3="explorer.exe"
........
上面列出来的是允许使用的!没有在上面列出来的就是不允许使用的!
当然还得在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer下面建立一个RestrictRun=Dword(1).
类似于:
1="regedit.exe"
2="notepad.exe"
3="explorer.exe"
........
上面列出来的是允许使用的!没有在上面列出来的就是不允许使用的!
解决方案 »
- ★★★★又恭喜95又喜获千金★★★★
- 请大家帮帮忙,为什么使用Setkey会出错,
- Delphi访问Access的SQL语句中需访问外数据库库(ACCESS),如何加上外数据库的密码?
- 关于报表查询的SQL语句问题,散全部分求教!!~~~
- 这样的语句怎么写?
- 怎么用delphi7做控件?
- 问题没有解决,再送50分!
- 请问报表中打印的数据可不可以来自程序中的数组与变量啊~?(在线等待,在线给分)
- 祝dana妹妹生日快乐!心想事成! 送出300
- 用bde开发的数据库查询程序,用installshield express custom editon做成安装程序应注意些什么?
- 如何在控制控件在form中的显示比例!菜鸟问题!请指点!
- ---------汕头的程序员 死于截图!惨 惨 惨 !!!!!-----------
2="notepad.exe"
3="explorer.exe
)来禁止用户使用别的程序!!!!!
明白了吗?
procedure TMainWindow.LimitRunGBProc(bInit: boolean=true);
var
reg:tregistry;
i:integer;
buf:tstrings;
begin
reg:=tregistry.Create;
buf:=tstringlist.Create;
reg.RootKey:=LimitRunReginfo.RootKey;
if binit then
begin
RestRunLB.Items.Clear;
if reg.OpenKey(LimitRunRegInfo.Key,false) then
begin
if reg.ValueExists(LimitRunRegInfo.Name) then
try
RestRunCB.Checked:=reg.ReadInteger(LimitRunRegInfo.Name)>=1;
except
reg.DeleteValue(LimitRunRegInfo.Name);
end;
RestRunCBClick(self);
if reg.KeyExists(LimitRunRegInfo.Name) then
if reg.OpenKey(LimitRunRegInfo.Name,false) then
begin
reg.GetValueNames(buf);
for i:=0 to buf.Count-1 do
if buf.Strings[i]<>'' then
RestRunLB.Items.Add(reg.ReadString(buf.Strings[i]));
end;
end;
end
else //Apply
begin
if reg.OpenKey(LimitRunRegInfo.Key,true) then
begin
reg.DeleteKey(LimitRunRegInfo.Name);
if RestRunCB.Checked then
begin
reg.WriteInteger(LimitRunRegInfo.Name,1);
if reg.OpenKey(LimitRunRegInfo.Name,true) then
begin
reg.WriteString('',extractfilename(paramstr(0)));
for i:=0 to RestRunLB.Items.Count-1 do
reg.WriteString(inttostr(i+1),RestRunLB.Items.Strings[i]);
end;
end
else
reg.DeleteValue(LimitRunRegInfo.Name);
end;
end;
reg.CloseKey;
reg.Free;
buf.Free;
end;
不过我知道regedit是不能的,其它的就不知道了