我写了一段贷码目的是禁用u盘.如下.
var
reg:tregistry;
begin
reg.rootkey:=HKEY_LOCAL_MACHINE;
if reg.openkey('\system\currentcontrolset\services\usbstor',true) then
   begin
   reg.writeinteger('start',4);
   reg.close;
   reg.free;
   end
else showmessage('错误');end;但使我不明白的是在administrator用户下运行正常并能锁住u盘.然而在power users的用户下运行却显示'错误',我也看了在此用户下确有此键,但就是不能用程序更改设置(好象是openkey找不到此键).真奇怪.请大家帮看看是什么原因.谢谢.

解决方案 »

  1.   

    应该是power users组的用户没有权限,修改这个键值
      

  2.   

    to do2008(事情做了,才是事情) ( ) 信誉:100    Blog 
    还是不明白,我应该怎样修改?。我想如果生成exe文件应该在任何用户下都应一样的运行啊?
      

  3.   

    我想如果生成exe文件应该在任何用户下都应一样的运行啊
    ===================================================================================
    有些系统设置只有administrator才行,你的程序在administrator用户能修改,其它用户不能修改,说明其它用户没有这个键值修改权限,除非你重新定义其它用户权限为管理员权限
      

  4.   

    maozefa(阿发伯) ~~~正解~~~
    在windows中,administrator拥有windows的最高权限,可以执行相关的系统的重要配置;但别的用户组的成员,就不一定有相关的权限了,如果大家都有权限,如guest,用户都有权限的话,
    windows不用混了,嘿嘿~~~至于,哪些操作需要什么权限,要查询相关的资料,如MSDN~~~
      

  5.   

    运行regedit.exe,  利用工具菜单修正此权限