Delphi修改操作注册表权限的代码

需要uses jclwin32, AccCtrl; 此文件需要安装JCL


代码如下:

function AllowRegKeyForEveryone(Key: HKEY; Path: string): Boolean;
var
WidePath: PWideChar;
Len: Integer;
begin
case Key of
HKEY_LOCAL_MACHINE:
Path := 'MACHINE\' + Path;
HKEY_CURRENT_USER:
Path := 'CURRENT_USER\' + Path;
HKEY_CLASSES_ROOT:
Path := 'CLASSES_ROOT\' + Path;
HKEY_USERS:
Path := 'USERS\' + Path;
end;
Len := (Length(Path)+1)*SizeOf(WideChar);
GetMem(WidePath,Len);
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, PChar(Path), -1, WidePath, Len);
Result := SetNamedSecurityInfoW(WidePath, SE_REGISTRY_KEY,
DACL_SECURITY_INFORMATION, nil, nil, nil, nil) = ERROR_SUCCESS;
FreeMem(WidePath);
end;

(0)

相关推荐

  • Delphi 常见文件处理及注册表文件的使用实例

    Delphi 常见文件处理及注册表文件的使用实例 前言: Registry为我们提供了操作注册表的方法,这里我们用TRegIniFile提供的方法,TRegIniFile继承自TRegistry,TRegIniFile提供的方法类似于前面讲到的操作Ini文件的方法,这样就大大简化了我们操作"神秘"注册表的方法,下面是常用的方法: function CreateKey(const Key: String): Boolean;  创建Key function OpenKey(const K

  • Delphi修改操作注册表权限的代码

    需要uses jclwin32, AccCtrl; 此文件需要安装JCL 复制代码 代码如下: function AllowRegKeyForEveryone(Key: HKEY; Path: string): Boolean; var WidePath: PWideChar; Len: Integer; begin case Key of HKEY_LOCAL_MACHINE: Path := 'MACHINE\' + Path; HKEY_CURRENT_USER: Path := 'CUR

  • 修改注册表权限加强对木马、病毒的防范

    一.问题的提出 大部分的木马及部分的病毒是通过注册表的自启动项或文件关联或通过系统服务实现自启动的,详见<Windows的自启动方式>,那是否有一种方法可以防止木马或病毒修改注册表项及增加服务呢? 二.问题的解决 windows2000/xp/2003的注册表是可以设置权限的,只是我们比较少用到.设置以下注册表键的权限: 1.设置注册表自启动项为everyone只读(Run.RunOnce.RunService),防止木马.病毒通过自启动项目启动 2.设置.txt..com..exe..inf

  • vb.net操作注册表的方法分析【增加,修改,删除,查询】

    本文实例讲述了vb.net操作注册表的方法.分享给大家供大家参考,具体如下: 增加: Dim key As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software/Faxturer", True) Dim subkey As Microsoft.Win32.RegistryKey subkey = key.CreateSubKey("Manu")

  • 如何利用python操作注册表

    注册表是windows管理配置系统运行参数的一个核心数据库.在这个数据库里整合集成了全部系统和应用程序的初始化信息:其中包含了硬件设备的说明.相互关联的应用程序与文档文件.窗口显示方式.网络连接参数.甚至有关系到计算机安全的网络共享设置 . 1.读取 读取用的方法是OpenKey方法:打开特定的key winreg.OpenKey(key,sub_key,res=0,sam=KEY_READ) 例子:此例子是显示了本机网络配置的一些注册表项 import winreg key = winreg.

  • 无法显示隐藏文件夹(修改过注册表也无效)的解决方法 附注册表文件

    显示隐藏文件的通法: 正常情况下,按照如下顺序操作即可:打开"我的电脑"的"工具"菜单--"文件夹选项",在"查看"标签里,选择"显示所有文件和文件夹",并找到"隐藏受保护的操作系统文件(推荐)",将前面的勾去掉.如下图所示: 被病毒修改注册表后导致无法显示隐藏文件的解决方法: 如果是由于病毒所导致的,则有很多种情况,这里说一下较常用的两种方法. 法一:打开注册表编辑器,进入注册表项:H

  • regini dos下更改注册表权限的工具

    这个玩意主要用途是 在cmd下 修改注册表 以及 注册表权限! 用法研究了一晚上 弄出来了 ,微软上写的 根本不能用啊 郁闷.. 使用方法 C:\>regini regset.ini 就行啦 regset.ini 是你要修改的数据 下面举例! regset.ini 文件内容 引用: 复制代码 代码如下: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run test = c:\windows\system32\fuckt

  • C#操作注册表的方法详解

    本文实例讲述了C#操作注册表的方法.分享给大家供大家参考,具体如下: 下面我们就来用.NET下托管语言C#注册表操作,主要内容包括:注册表项的创建,打开与删除.键值的创建(设置值.修改),读取和删除.判断注册表项是否存在.判断键值是否存在. 准备工作: 1. 要操作注册表,我们必须要引入必要的命名空间: 复制代码 代码如下: using Microsoft.Win32; 在这个命名空间里面包含了许多注册表相关的类,足够我们使用了~~ 2. 命名空间里面提供了一个类:RegistryKey 利用它

  • 批处理操作注册表完全攻略(读取注册表/写入注册表等)

    一,批处理生成.Reg文件操作注册表 用批处理中的重定向符号可以轻松地生成.reg文件.然后用命令执行.reg文件即可! 这里,着重要了解.reg文件操作注册表的方法. 首先.reg文件首行必须是:Windows Registry Editor Version 5.00.然后才是操作注册表的内容. (就和从注册表中导出的文件格式一致) 1,创建子项 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\TTT] 在HK

  • python3操作注册表的方法(Url protocol)

    使用python操作注册表的方法最近学习了一下,现在做一下笔记,由于对Python语言的使用还不是很熟练,所以写不出高大上的结构,但是解决问题搓搓有余了. 说道注册表顺便也说一说环境变量的修改(放下下一节讲),里面有许多相似的地方,我觉得放在一起说会比较合适. 操作注册表 操作注册表主要引入winreg包,winreg包是python3自带的包,python2的名字和python3有区别_winreg,在这里只关注python3 key = winreg.OpenKeyEx(winreg.HKE

  • C#操作注册表之RegistryKey类

    表示 Windows 注册表中的项级节点. 此类是注册表封装. 继承层次结构 System.Object   System.MarshalByRefObject    Microsoft.Win32.RegistryKey 命名空间:Microsoft.Win32 程序集:mscorlib(在 mscorlib.dll 中) 属性 名称 说明 Handle 获取一个 SafeRegistryHandle 对象,该对象表示当前 RegistryKey 对象封装的注册表项. Name 检索项的名称.

随机推荐