草庐IT

Registry

全部标签

c++ - 为所有用户设置注册表值

为一台机器上的所有用户设置注册表值的最佳方法是什么。枚举HKEY_USERS并更改ntuser.dat是一种解决方案。还有其他解决方案可以在XP、VISTA和Windows7中使用吗?实际上安装程序需要将一个key写入注册表。所有用户都需要使用该key。一旦使用过的key应该被重置。如果我们在HKLM中只保留一份key拷贝,则无法做到这一点。因为如果第一个用户使用它并重置它,那么其他用户将无法使用它。我能想到的唯一解决方案是在所有用户中写入该key,但这在Windows7的情况下不起作用。 最佳答案 除非您拥有管理员权限,否则您不能

c++ - GUID的唯一性

GUID是MSFT生成的128位唯一标识符。我怀疑GUID是否是全局唯一的。我的意思是我生成的GUID,在全世界使用任何应用程序的任何系统中没有其他人可以生成?真的吗?我很惊讶Microsoft如何知道或跟踪这种独特性。并且生成的唯一GUID也可以链接到任何实体?应用程序,变量,系统,?GUOD可以链接到哪些实体?任何人都可以澄清GUID的概念吗?它是独立于编程语言的吗? 最佳答案 这两篇文章您可能会感兴趣,应该可以帮助您理解这些ID背后的概念。UniversallyUniqueIdentifiers(UUID)GloballyUn

c# - HKEY 到 Microsoft.Win32.RegistryKey 的转换

我有一个使用RegOpenKeyEx(WinApi)开放的注册表HKEY。现在我想将HKEY转换为对象Microsoft.Win32.RegistryKey。这将允许我使用更方便的.Net操作来进一步处理此key。您知道如何以可靠的方式为C#.Net2.0而非更高版本完成此转换吗?感谢您的帮助!我尝试使用反射访问RegistryKey.GetBaseKey(hKey)以将HKEY转换为RegistryKey但失败了:[DllImport("advapi32.dll",CharSet=CharSet.Auto)]publicstaticexternintRegOpenKeyEx(IntP

windows - Powershell 将多个 key 导出到一个 .reg 文件

我想将多个注册表项导出到同一个.reg文件。我看到的每个建议都显示使用reg/e[键名]filename.reg,但我有一个4-5个注册表项的列表,我想导出并且这样做每次都会覆盖它。我想要的是这样的:导出HKLM\Software\Test\ABCRegFile.reg导出HKLM\Software\ABC\123RegFile.reg导出HKLM\Software\XYZ\LalaRegFile.reg以便每个注册表项都附加到同一个.reg文件,而不是每次都被覆盖。我该怎么做? 最佳答案 最简单的方法是单独导出每个key,然后合并

c# - 如何在 Windows (8.1) 中将自定义应用程序注册为 Web 浏览器?

我正在尝试注册我自己的应用程序,以便它出现在使用我找到的信息在Windows中选择默认浏览器的列表中aroundtheinternet.代码全部运行没有问题,并且似乎创建了正确的注册表项,但我的应用程序未显示在Windows8.1的“浏览器选择”选项中。我还没有设置一些在线代码示例中显示的UserChoice值,因为看起来它实际上设置了默认浏览器(只有一个值),我没有尝试为此,只需将其注册为一个选项。相关代码在RegisterBrowser中,但为方便起见,我包含了完整的类。usingSystem;usingSystem.Reflection;usingMicrosoft.Win32;

C# 从注册表中获取 SystemRestore 的状态

我正在尝试从C#中的子项“HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\SystemRestore”读取注册表项“RPSessionInterval”。我正在使用以下代码并收到异常“对象引用未设置到对象的实例。”stringsystemRestore=@"SOFTWARE\Microsoft\WindowsNT\CurrentVersion\SystemRestore";RegistryKeybaseRegistryKey=Registry.LocalMachine;publicstringSystemRestoreStatus(st

Windows 注册表文件关联菜单

我最近(今天)开始在Delphi中修改我的注册表。:)一切正常,我的自定义文件类型现在可以用我的程序打开,但有2个问题我无法解决。1)我想要从所有文件类型中“打开方式”的选项,所以我添加了reg:=TRegistry.Create;reg.RootKey:=HKEY_CLASSES_ROOT;reg.LazyWrite:=false;reg.OpenKey('*\OpenWithList\EncryptionSystem',true);reg.WriteString('','C:\ProgramFiles\EncryptionSystem\EncryptionSystem.exe"%1

c++ - 如何使用 C 或 C++ 将选项添加到 Windows 资源管理器上下文菜单?

例如,当我在资源管理器窗口中右键单击时,我会看到一个弹出窗口,内容如下:打开打开方式复制粘贴Winrar 最佳答案 查看ShellExtensions. 关于c++-如何使用C或C++将选项添加到Windows资源管理器上下文菜单?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2693956/

C++ REG_SZ 到 char* 并在没有提升权限的情况下读取 HKLM

所以我一直在尝试从注册表中获取REG_SZ值并将其存储为char*。环顾互联网后,这就是我想出的。问题是我得到的值不是存储在注册表中的值,我得到了一堆随机垃圾。我将如何正确获取该值?HKEYhKey;charvalue[256];//Openthekeyif(RegOpenKeyEx(HKEY_LOCAL_MACHINE,"HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0\\",0,KEY_QUERY_VALUE,&hKey)!=ERROR_SUCCESS){return"";}//ReadthevalueDWORDdwType=RE

c++ - 如何从注册表中读取REG_BINARY值的关联值?

在注册表中,有一个(或多个)键,具体取决于您拥有多少个HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY\DEL404C\{SomeUniqueID}\DeviceParameters\EDID显示器(即REG_BINARYkey)。就我而言,这是:00FFFFFFFFFFFF0010AC4C4053433442341401030A2F1E78EEEE95A3544C99260F5054A54B00714F8180B3000101010101010101010121399030621A274068B03600DA281100