本帖最后由 woeiwoei 于 2010-6-25 10:36 编辑 #include <LocalSecurityAuthority.au3>
If Not IsDeclared("KEY_READ") Then $KEY_READ = 0x20019
If Not IsDeclared("KEY_ALL_ACCESS") Then $KEY_ALL_ACCESS = 0xF003F
If Not IsDeclared("HKEY_CLASSES_ROOT") Then $HKEY_CLASSES_ROOT= 0x80000000
Dim $aAceList[2][4]= [["Administrator", $KEY_ALL_ACCESS, $GRANT_ACCESS, $SUB_CONTAINERS_AND_OBJECTS_INHERIT] ,["Everyone", $KEY_READ, $GRANT_ACCESS, $SUB_CONTAINERS_AND_OBJECTS_INHERIT]]
$sSubKey = "CLSID\{871C5380-42A0-1069-A2EA-08002B30309D}\shell\OpenHomePage\command"
$iResult = _RegSetKeySecurityDacl($HKEY_CLASSES_ROOT, $sSubKey, $aAceList)
这样可以修改 HKEY_CLASSES_ROOT 下的 键值权限,但是 我要修改
HKEY_LOCAL_MACHINE 下的 某个键值权限,改如何写呢?
我尝试 将 If Not IsDeclared("HKEY_CLASSES_ROOT") Then $HKEY_CLASSES_ROOT= 0x80000000
写成 If Not IsDeclared("HKEY_LOCAL_MACHINE") Then $HKEY_LOCAL_MACHINE= 0x80000002
并且 $iResult = _RegSetKeySecurityDacl($HKEY_CLASSES_ROOT, $sSubKey, $aAceList)
也改了 后 没提示错误但是 权限却修改不了。因该咋样写呢?
我要修改 的键值为 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Ext\Settings
研究了 2天了。希望大侠能帮帮我,在下感激不尽!! |