0

我试图从注册表中获取一个值,以便使用水晶报表完成打印功能。

但是当我执行路径时它会出错,因为我的注册表路径无法正常工作。

     Values- Global.gAPPNAME = "TEST" Global.gAPPSECTION = "STARTUP"

     Global.gREPORTDIR = Registry.GetValue(Global.gAPPNAME, Global.gAPPSECTION, "REPORTDIR").ToString();

当它到达 Global.gREPORTDIR 行时,我收到错误消息 - “注册表项名称必须以有效的基本密钥名称开头”

我对此并不陌生,我想知道这是否可以通过代码修复,或者我需要在实际计算机中找到以找到正确路径的东西。任何建议都会有所帮助。谢谢。

4

2 回答 2

3

您需要指定一个有效的根名称:

有效的根名称是HKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_CLASSES_ROOTHKEY_USERSHKEY_PERFORMANCE_DATAHKEY_CURRENT_CONFIGHKEY_DYN_DATA

于 2012-08-10T13:17:34.470 回答
1

您可以在此处阅读有关 Registry.GetValue 的信息:http: //msdn.microsoft.com/library/microsoft.win32.registry.getvalue.aspx

所以你的错误来自第一个参数:

有效的根名称为 HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE、HKEY_CLASSES_ROOT、HKEY_USERS、HKEY_PERFORMANCE_DATA、HKEY_CURRENT_CONFIG 和 HKEY_DYN_DATA。例如,在 Visual Basic 中,字符串“HKEY_CURRENT_USER\MyTestKey”访问 HKEY_CURRENT_USER 根中子项“MyTestKey”的键/值对。

您可以使用静态键以方便使用

Registry.LocalMachine.Name
于 2012-08-10T13:17:29.430 回答