Avatar billede cborg Nybegynder
27. oktober 2003 - 21:10 Der er 10 kommentarer og
2 løsninger

Læse fra windows registry via java.util.prefs

Har brug for at kunne læse fra windows registry og har ikke lyst til at bruge en wrapper eller jni. Det skal gerne være i ren java :)

Jeg ved det kan lade sig gøre via java.util.prefs.*, men synes ikke rigtigt at kunne få det til at fungere... Jeg skal læse en simple string (REG_SZ) fra registryen.

http://www-106.ibm.com/developerworks/java/library/j-mer1002/

Her står det beskrevet hvordan man skal gøre men jeg kan ikke få det til at virke.

Her er endda eksempler, men jeg kan stadigvæk ikke få det til at virke: http://www.javajunkies.org/index.pl?lastnode_id=1561&node_id=1561

Kode:

package mw;
import java.util.prefs.*;

public class Registry
{

  public Registry()
  {
  Preferences userPrefs = Preferences.systemNodeForPackage(this.getClass());
  System.out.println(userPrefs.node("SOFTWARE\\JavaSoft\\Java Development Kit").get("CurrentVersion", "default"));
  }
}

Jeg er ude på at hente hvilken java version, der er installeret.
Avatar billede cborg Nybegynder
27. oktober 2003 - 21:21 #1
Eller er det slet ikke muligt at hente allerede eksisterende data fra windows reg?
Avatar billede arne_v Ekspert
27. oktober 2003 - 21:22 #2
Nogen speciel grund til at du ikke bare bruger System.getProperty("java.version") ?
Avatar billede cborg Nybegynder
27. oktober 2003 - 21:34 #3
Det var bare et eksempel på en værdi fra registeringsdatabasen. Kunne jeg få det til at fungere, ville resten formentlig glide ;) Nedeste linje var blot "forklarende tekst" ;)
Avatar billede arne_v Ekspert
27. oktober 2003 - 21:43 #4
Jeg har en grim mistanke om at java.util.prefs klasserne vil gemme
i et bestemt sub træ:
  Software\JavaSoft\Prefs
Avatar billede arne_v Ekspert
27. oktober 2003 - 21:43 #5
Så tilbage til JNI.

Medmindre du kan "genbruge" SUN's JNI kode (frodi de bruger selvfølgelig
også JNI).
Avatar billede cborg Nybegynder
27. oktober 2003 - 22:00 #6
Hvordan gøres dette så lettest? Har ikke brugt meget tid på JNI (så muligheden for prefs og jublede :)
Avatar billede arne_v Ekspert
27. oktober 2003 - 22:03 #7
To problemer:
1)  skrive C/C++ koden
2)  skrive JNI wrapper

Det sidste er ikke så svært.
Avatar billede cborg Nybegynder
27. oktober 2003 - 22:48 #8
Både wrappere og koden til interaktion med registreringsdatabasen er tilgængelige mange steder.

Problemet er at jeg gerne vil kunne bundle disse med de klasser jeg allerede har skrevet. Jeg benyttet JBuilder og bruges dens funktion til at bygge en native executable (.exe fil mht Windows).

Den eneste måde jeg umiddelbart kan gennemskue at man kan kommunikere med C-koden er igennem en jar fil...
Avatar billede arne_v Ekspert
27. oktober 2003 - 22:55 #9
C koden skal være i en DLL fil on disk. Så den skal pakkes ud inden
den kan loades.
Avatar billede cborg Nybegynder
28. oktober 2003 - 08:36 #10
Det er jeg ikke interesseret i :( Jeg må finde en anden løsning. Kan du ikke smide et svar, så får du nogle point for tak for hjælpen :)
Avatar billede arne_v Ekspert
28. oktober 2003 - 08:54 #11
ok
Avatar billede cborg Nybegynder
30. oktober 2003 - 08:53 #12
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester