0

Crystal レポートを使用して印刷機能を完了するために、レジストリから値を取得しようとしています。

しかし、レジストリ パスが正しく機能していないため、パスを実行するとエラーが発生します。

     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_USER、、、、、、、および です。HKEY_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 に答える