我正在尝试使用QSettings从Windows注册表中读取MachineGuid键。该key的地址是"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography".我正在使用带有QSettings::Native标志的QSettings,如下所示。QSettingssettings("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography",QSettings::NativeFormat);我可以从regedit.exe查看所有子文件夹及其键和MachineGuid的值,但的value函数Q
我需要删除注册表项。它在SetValue上有一个拒绝ACL(我需要这个权限才能删除它)。如何在C++中更改ACL? 最佳答案 您可以使用RegSetKeySecurity来调整安全设置,然后照常删除key。 关于c++-如何更改注册表项的ACL?(C++),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/302314/
我有一些关于注册表的问题。我们有Preferencesp=Preferences.userRoot();如果我们执行p.nodeExists("/HKEY_CURRENT_USER/Software/Policies/Microsoft")它将返回true。之后:p=p.node("/HKEY_CURRENT_USER/Software/Policies");for(Strings:p.childrenNames()){System.out.println(">"+s);}我们看到它有一个child:“Windows”。但是p.nodeExists("/HKEY_CURRENT_USE
我正在做一个应用程序虚拟化项目。所以我在NT级别挂接应用程序并将注册表调用定向到我的虚拟注册表。在运行任何应用程序时,如果我转到"file"->“打开”。我几乎没有像下面这样的注册表调用:ZwOpenKey(registrykeypath)->它生成句柄ex:(0x04e8)ZwQueryKey(0x4ea,...)ProcessMonitor说打开和查询都是在同一个键上执行的。我自己测试确认是同一个key。查询键也为查询键api生成了正确的结果。这2个字节的差异并不适用于所有打开和查询键的情况。应用程序如何以及为何在调用querykey之前将句柄从0x4e8更改为0x4ea?我还测试
如何“记录”进程访问了哪些注册表项?我可以使用ProcessExplorer或类似工具来执行此操作吗? 最佳答案 ProcessMonitor 关于windows-记录进程读取/写入的所有注册表项,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5730289/
我想在注册表中存储一个System.SecureString。那可能吗?我将如何着手去做?下次运行时我的程序是否能够再次解密字符串? 最佳答案 如果没有辅助层,就不可能以加密形式进行操作。它本身不支持任何形式的序列化,实际上甚至无法以其原生形式进行检查。要从中获取任何信息,您需要通过PInvoke或SecureStringToBSTRAPI。这两者都可以让您以未加密的形式访问string。我可以看到这个工作的一种方式是通过SecureStringToBSTR将SecureString转换为BSTR加密BSTR将结果存储在注册表中当然
我正在使用reg->SaveKey("Software","D:\1.reg")。但是得到空文件,没有数据。void__fastcallTForm1::Button2Click(TObject*Sender){TRegistry*reg=newTRegistry(KEY_READ);reg->RootKey=HKEY_LOCAL_MACHINE;reg->OpenKey("Software",0);;reg->SaveKey("Software","D:\\1.reg");deletereg;} 最佳答案 SaveKey是对RegS
我正在尝试编写一个应用程序,我可以在其中提供一个注册表路径,例如HKLM\hardware\description\system并且我的应用程序应该在系统下读取每个键名,如果有子键它们的名字,如果还有更多的子项然后他们的名字等等...我的应用程序正在运行(或多或少),但我的问题是如何计算子键?比如system下有2个key,a和b,a下多了3个key,b下多了5个,那我应该怎么算自己在哪个sublevel呢?这很重要,因为我必须知道如何连接注册表路径?到目前为止,这是我的代码(大部分来自msdn,但我找不到类似的示例):#include#include#include#include#
我使用的是Windows7和Windows2008Server。我使用了Ruby和RubyonRails一键安装程序。安装程序会修改和创建哪些注册表项?谢谢! 最佳答案 这取决于您选择的复选框。一切都在安装程序本身的源代码中。SYSTEM\CurrentControlSet\Control\SessionManager\Environment(管理员)或Environment(普通用户),在PATH和路径。SourceSoftware\Classes用于.rb、.rbw以及RubyFile和RubyFileWHKLM或HKCU。So
读取是涉及磁盘还是只涉及RAM?它是否始终可供阅读,或者是否有任何限制,例如某些用户将降低安全性而无法阅读? 最佳答案 注册表存储在磁盘上,但会被缓存(在某种程度上),因此您基本上是从磁盘读取,尽管有时您会获得缓存版本。虽然一般来说,所有用户都对注册表具有只读访问权限,但有些部分(例如其他用户配置文件)将无法访问。您应该始终对HKEY_LOCAL_MACHINE具有只读访问权限(HKEY_LOCAL_MACHINE\SAM和HKEY_LOCAL_MACHINE\SECURITY除外,它们受到限制并且只能以本地系统权限读取)和HK