Win10获取管理员所有权的reg注册表

Win10获取管理员所有权的reg注册表,第1张

一种是网上很容易搜到的从管理用户里面新建管理员帐号并且登录,当然这个比较麻烦。右击计算机---管理---本地用户和组----用户 新建账户 设置权限第二种用注册表,编辑以下内容,保存为reg文件(即reg后缀)Windows Registry Editor Version 500[HKEY_CLASSES_ROOT\\shell\runas]@="管理员取得所有权""NoWorkingDirectory"=""[HKEY_CLASSES_ROOT\\shell\runas\command]@="cmdexe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F""IsolatedCommand"="cmdexe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"[HKEY_CLASSES_ROOT\exefile\shell\runas2]@="管理员取得所有权""NoWorkingDirectory"=""[HKEY_CLASSES_ROOT\exefile\shell\runas2\command]@="cmdexe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F""IsolatedCommand"="cmdexe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"[HKEY_CLASSES_ROOT\Directory\shell\runas]@="管理员取得所有权""NoWorkingDirectory"=""[HKEY_CLASSES_ROOT\Directory\shell\runas\command]@="cmdexe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t""IsolatedCommand"="cmdexe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"保存以后双击导入即可。第三种直接下优化大师 里面自带管理员取得所有权功能。第四种直接下载管理员权限工具当然管理员权限向上一级还有system权限,也不能说管理员权限就是最高权限,例如system32里的文件是需要system权限的才允许修改。

1、首先点击电脑左下角的“开始菜单”按钮,里面有一个“附件”,点开即可看到命令提示符,如图所示。

2、之后在如图“G:\Users\Administrator>”后面输入命令才能使用命令提示符,如图所示。

3、在里面输入“regedit”命令,点击回车,即可运行这个命令,如图所示。

4、之后即可d出注册表,即可打开注册表成功,如图所示就完成了。

首先建立记事本,复制以下代码到记事本中。

Windows Registry Editor Version 500

[-HKEY_CLASSES_ROOT\\shell\runas]

[HKEY_CLASSES_ROOT\\shell\runas]

@="获取超级管理员权限"

"Icon"="C:\\Windows\\System32\\imageresdll,-78"

"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\\shell\runas\command]

@="cmdexe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"

"IsolatedCommand"="cmdexe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"

[-HKEY_CLASSES_ROOT\Directory\shell\runas]

[HKEY_CLASSES_ROOT\Directory\shell\runas]

@="获取超级管理员权限"

"Icon"="C:\\Windows\\System32\\imageresdll,-78"

"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Directory\shell\runas\command]

@="cmdexe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"

"IsolatedCommand"="cmdexe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"

[-HKEY_CLASSES_ROOT\dllfile\shell]

[HKEY_CLASSES_ROOT\dllfile\shell\runas]

@="获取超级管理员权限"

"HasLUAShield"=""

"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\dllfile\shell\runas\command]

@="cmdexe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"

"IsolatedCommand"="cmdexe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"

[-HKEY_CLASSES_ROOT\Drive\shell\runas]

[HKEY_CLASSES_ROOT\Drive\shell\runas]

@="获取超级管理员权限"

"Icon"="C:\\Windows\\System32\\imageresdll,-78"

"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Drive\shell\runas\command]

@="cmdexe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"

"IsolatedCommand"="cmdexe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"

保存文件路径,在另存为reg格式。

在将reg文件随机命名,双击注册表即可获得管理员权限。

注册完后,右键点击某个文件即可看到“获取超级管理员权限”。

删除管理员权限。复制代码根据上面的步骤新建记事本粘贴到记事本中,另存为reg格式,双击即可删除管理员权限。

Windows Registry Editor Version 500

[-HKEY_CLASSES_ROOT\\shell\runas]

[-HKEY_CLASSES_ROOT\Directory\shell\runas]

[-HKEY_CLASSES_ROOT\dllfile\shell]

[-HKEY_CLASSES_ROOT\Drive\shell\runas]

[-HKEY_CLASSES_ROOT\exefile\shell\runas]

[HKEY_CLASSES_ROOT\exefile\shell\runas]

"HasLUAShield"=""

[HKEY_CLASSES_ROOT\exefile\shell\runas\command]

@="\"%1\" %"

"IsolatedCommand"="\"%1\" %"

GetSetting是一个办法,但功能实在是有限。

用API函数可以 *** 作注册表,我这里有一些资料,你可以参考,希望对你有所帮助。

VB *** 作注册表--所用函数收录

RegOpenKey--取得SubKey的Hkey

VB声明

Declare Function RegOpenKey Lib "advapi32dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

参数类型及说明:

hKey:Key Handle

lpSubKey:SubKey名称或路径

phkResult:若RegOpenKey执行成功,则这一参数返回Subkey的hKey

返回值: =0,表示成功;≠0,表示失败。[注意这一点与别的API函数不太一样]

例:ret = RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft", hKey)

RegCreateKey函数:建立SubKey

VB声明

Declare Function RegCreateKey Lib "advapi32dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

它的参数用法与RegOpenKey一样。所不同的是RegOpenKey只能打开已经有的SubKey,而RegCreateKey则可以建立 SubKey,比较特别的是,如果调用RegCreateKey所建立的SubKey是一个已经存在的SubKey,则它的功能和RegOpenKey相同。由于RegCreateKey的这种特性,有的程序员干脆不用RegOpenKey,而用RegCreateKey来统一代替RegOpenKey。

例:ret = RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Hongqt", hKey)

RegClose函数:关闭SubKey

Declare Function RegCloseKey Lib "advapi32dll" (ByVal hKey As Long) As Long

当我们不再存取Registry时,将打开或建立的SubKey关闭是一个比较好的习惯,就正如我们在使用C语言的文件打开函数后必须要关闭一样。

例:ret = RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft", hKey) RegClose hkey

RegQueryValue--读取某Key的默认值(default value)

VB声明

Declare Function RegQueryValue Lib "advapi32dll" Alias "RegQueryValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpValue As String, lpcbValue As Long) As Long

hKey: Key Handle

lpSubKey:SubKey名称路径

lpValue:返回读取的Default Value

lpcbValue:传入lpValue参数的长度,若成功读取了默认值default value,则返回default value字符串的长度(含chr(0))这个和C语言中字符串的处理相似,都是以chr(0)作为结束符。

返回值: =0,表示成功;≠0,表示失败。例:ret = RegQueryValue(hKey, Subkey, "", lenS)

RegSetValue--删除某Key的默认值(default value)

VB声明

Declare Function RegSetValue Lib "advapi32dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long

hKey:Key Handle

lpSubKey:Subkey名称或路径

dwType:数据类型,但在这里只能接受REG_SZ[字符串类型]

lpData:所设置的字符串

cbData:lpData字符串的长度,这一长度包括chr(0)字符。

关于dwType的可能取值

Enum ValueType

REG_NONE = 0

REG_SZ = 1

REG_EXPAND_SZ = 2

REG_BINARY = 3

REG_DWORD = 4

REG_DWORD_BIG_ENDIAN = 5

REG_MULTI_SZ = 7

End Enum

例:Function SetDefaultValue(ByVal hKey As Long, ByVal Subkey As String, ByVal Value As String) As Boolean

Dim ret As Long, lenS As Long, S As String

ret = RegSetValue(hKey, Subkey, REG_SZ, Value, LenB(StrConv(Value, vbFromUnicode)) + 1) SetDefaultValue = (ret = 0) End Function

RegQueryValueEx--读取某Key的特定名称的值(Value)

Vb声明和参数解释:

Declare Function RegQueryValueEx Lib "advapi32dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long

hkey:Key Handle

lpValueName:Value Name

lpReserved:保留参数,调用时设置为0即可

lpType:返回读取的数据类型

lpData:返回读取的数据

lpcbData:传入 lpData数据的长度,若成功读取数据,则返回所读取的数据的长度。

返回值:

=0,表示成功;

≠0,表示失败。

说明:

1、这一函数除了可读取指定名称的值之外,也可以读取default value。如果要读取default value,只需要将参数lpValueName设置为""[空字符串]即可。

2、lpType 的可能取值

Enum ValueType

REG_NONE = 0

REG_SZ = 1 -->字符串

REG_EXPAND_SZ = 2 -->可展开式字符串

REG_BINARY = 3 -->Binary数据

REG_DWORD = 4 -->长整数

REG_DWORD_BIG_ENDIAN = 5 -->BIG_ENDIAN长整数

REG_MULTI_SZ = 7 -->多重字符串

End Enum

Dim hKey As Long, ret As Long, lenData As Long, typeData As Long

Dim Name As String

'读取HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ Run的internatexe的valueName="internatexe"

ret=RegOpenKey (HKEY_LOCAL_MACHINE,"Software\Microsoft\Windows\CurrentVersion\Run", hKey)

if ret=0 then ret = RegQueryValueEx(hKey, Name, 0, typeData, ByVal vbNullString, lenData)

'注意ByVal千万别忘了end if

RegEnumValue--列出某Key的所有名称的值

Declare Function RegEnumValue Lib "advapi32dll" Alias "RegEnumValueA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName As String, lpcbValueName As Long, lpReserved As Long, lpType As Long, lpData As Byte, lpcbData As Long) As Long '以下的两个函数是经过王国荣老师改编过的函数,与此相关,也一并列出并且在我们的子程序中要用到它们。RegEnumValueAsAny可以传入长整数和字符串;RegEnumValueAsAny2中lpData参数被改成Any后,可以使用Byte数组,由于Byte数组是采用”传地址方式来传递参数的,可以省下复制字符串数据的时间,使得程序变得更加高效。Declare Function RegEnumValueAsAny Lib "advapi32dll" Alias "RegEnumValueA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName As String, lpcbValueName As Long, lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long

Declare Function RegEnumValueAsAny2 Lib "advapi32dll" Alias "RegEnumValueA" (ByVal hKey As Long, ByVal dwIndex As Long, lpValueName As Any, lpcbValueName As Long, lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long参数说明:hKey:Key HandledwIndex:欲读取之名称的顺序lpValueName:返回所读取的名称lpcbValueName:传入lpValueName参数的长度,返回所读取的名称的长度,注意这一长度不含chr(0)lpReserved:保留参数,实际使用时传入ByVal 0即可lpType:返回所读取的数据类型lpData:返回所读取的数据lpcbData:传入lpData,返回所读取的数据长度返回值: =0,表示成功;≠0,表示失败。

调用子:ret=0myindex=0while ret=0ret=RegEnumValue(hkey,myindex,Name,ByVal 0, typeData, ByVal vbNullString, lenData)myindex=myindex+1wend

RegSetValueEx--设置某Key特定名称的值(Value)

Declare Function RegSetValueEx Lib "advapi32dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long参数:hKey:Key HandlelpValueName:Value名称Reserved:保留参数,具体使用时置为0即可dwType:数据类型lpData:所设置的数据,注意这一参数被定义成lpData As Any,所以要传入字符串数据时别忘了在参数前加保留字ByValcbData:数据的长度。注意:如果写入的数据属于REG_SZ、 REG_EXPAND_SZ、REG_MULTI_SZ类型时,则这个长度应该包含chr(0)字符。返回值: =0,表示成功;≠0,表示失败。例im hKey As Long Dim L As Long L = 99999 RegCreateKey HKEY_CURRENT_USER, "Software\SetValue", hKey RegSetValueEx hKey, "LongData", 0, REG_DWORD, L, 4

RegDeleteValue--删除某Key的某一名称

Declare Function RegDeleteValue Lib "advapi32dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long 参数:hKey:Key HandlelpValueName: Value名称,如果想删除默认值的话,传入""[空字符串]即可。返回值: =0,表示成功;≠0,表示失败。函数调用:'我们假设在HKEY_CURRENT_USER\Software\SetValue有:'预设值-- VB *** 作注册表'str1--我爱我的祖国'我们要删除这两个Value ret = RegOpenKey(HKEY_CURRENT_USER, "Software\SetValue", hKey) If ret = 0 Then RegDeleteValue hKey, "Str1" MsgBox "已删除�HKCU\Software\SetValue�SubKey�Str1�Value" RegDeleteValue hKey, "" MsgBox "已删除HKCU\Software\SetValue�SubKey‘预设值’" End If

RegEnumKey--列出某Key的所有SubKey

Declare Function RegEnumKey Lib "advapi32dll" Alias "RegEnumKeyA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, ByVal cbName As Long) As Long 参数说明:hKey:Key HandledwIndex:欲读取的SubKey的顺序lpName:返回所读取的SubKey的名称cbName:传入lpName的字符串长度。返回值: =0,表示成功;≠0,表示失败。调用:Dim hKey As Long, ret As Long, Name As String, Idx As Long List1Clear Idx = 0 Name = String(256, Chr(0)) Do ret = RegEnumKey(HKEY_CURRENT_USER, Idx, Name, Len(Name)) If ret = 0 Then List1AddItem Left(Name, InStr(Name, Chr(0)) - 1) Idx = Idx + 1 End If Loop Until ret <> 0

RegDeleteKey--删除Key或者SubKey

Declare Function RegDeleteKey Lib "advapi32dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long

参数:

hKey:Key Handle

lpSubKey:SubKey 名称或者路径,若传入""[空字符串],表示删除Key本身。返回值: =0,表示成功;≠0,表示失败。

egim hKey,ret As Long ret = RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Hongqt\xiaoyuer", hKey) ret = RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Hongqt", hKey)ret = RegDeleteKey(hKey, "xiaoyuer")'删除HKEY_LOCAL_MACHINE\SOFTWARE\Hongqt\xiaoyuer

注意:如果我们利用RegDeleteKey函数删除一个含有SubKey的Key时,对于Windows98和Winnt来讲是不一样的。比如我们把上面的删除调用改成ret = RegDeleteKey(hKey, ""),则在windows98下,它会连hongqt下的xiaoyuer一起删除,而在winnt下则会报错。

获取TrustInstaller权限的修改方法:1Windows Registry Editor Version 500[HKEY_CLASSES_ROOT\\shell\runas]

@="获取权限"

"NoWorkingDirectory"=""[HKEY_CLASSES_ROOT\\shell\runas\command]

@="cmdexe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"

"IsolatedCommand"="cmdexe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"[HKEY_CLASSES_ROOT\Directory\shell\runas]

@="获取权限"

"NoWorkingDirectory"=""[HKEY_CLASSES_ROOT\Directory\shell\runas\command]

@="cmdexe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"

"IsolatedCommand"="cmdexe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"将上述内容保存为reg(代表任意名称),双击导入,会在鼠标右键添加"获取权限"项目,如图所示

2Windows Registry Editor Version 500[-HKEY_CLASSES_ROOT\\shell\runas][-HKEY_CLASSES_ROOT\Directory\shell\runas]将上述内容保存为reg导入注册表后可以将获取权限项目删除

以上就是关于Win10获取管理员所有权的reg注册表全部的内容,包括:Win10获取管理员所有权的reg注册表、安装EICAD后,获取注册表中acad安装路径失败,怎么办、Win8.1怎么获取注册表系统修改权限等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9738791.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存