我的代码应禁用使用Windows注册表测试BCD选项。与命令行bcdedit -set testsigning off
相同。
我无法使用cmd执行shellexecute
。我在注册表中找到了HKLM\SYSTEM\ControlSet001\Control\SystemStartOptions
值中的一个Testsigning引用,但是该值包含当前内核运行选项,而不是下一次启动的选项。
所以,我不能用它。
我发现testigning选项保存在HLKM\BCD00000000\Objects\{%GUID%}\Elements\16000049
中,但是这个GUID在不同的PC上是不同的。
我如何获得它?
答案 0 :(得分:1)
如果您不想为所有启动条目激活它,那么
使用NT本机API,您的方法可能类似于以下伪代码:
while(numEntries < index){
NtEnumerateKey(index++, &pGuidKeyname...);
RtlStringCbPrintfW(buf, %s, rootkey,pGuidKeyname);
NtSetValueKey(buf, "YES");
}