Hvordan får jeg adgang til at læse og skrive i en REG_DWORD variabel i windows registreringsdatabase? Jeg benytter jdk1.3.1 og har ikke muglighed for at benytte jdk1.4.
Du kan gøre det hvis du bruger Microsoft jvm. Men deres SDK er ikke opdateret siden jdk1.1.4 :(
/** * Locate value in registry LOCAL_MACHINE * @param subkey folder of key to find i.e. "Applications\\mspaint.exe\\shell\\print\\command" * @param key For default value deliver "" */ private static String getRegistry_LOCAL_MACHINE_Value(String subkey, String key) { String value = null;
if (isMicrosoftJVM()) { com.ms.wfc.app.RegistryKey regKey; regKey = com.ms.wfc.app.Registry.LOCAL_MACHINE.getSubKey(key);
if (regKey != null) { value = (String) regKey.getValue(key); } } return value; }
/** * @return Running in a Microsoft JVM ? */ public static boolean isMicrosoftJVM() { String vendor = System.getProperty("java.vendor").toLowerCase(); return (vendor != null && vendor.indexOf("microsoft") != 0); }
Disky : Ret dårligt argument for ikke at bruge MS, eftersom du selv forslår at lave noget native C++ ???! Og da registeringsdatabasen kun findes på Windows, så.....
Men jeg er alligevel enig i at der skal være RET tungtvejene årsager for at benytte MS JVM og dermed 1.1.4 (kunne f.eks. være at det er installeret på hovedparten af alle Windows-klienter)
Tro mig det er ikke et dårligt argument tværtimod.
Alle der kender til Java ved at Microsoftes JVM, er totalt fyldt af fejl.
Som profesionel Java udvikler anvender man kun en af SUN godkendt JVM, som er up2date ! Og ikke en æld gammel, buggy, version.
Derfror er det godt at Microsoft har fået pålagt at indføre en ordentlig JVM i deres OS.
gudmundseth: Hvorfor afviste du mit svar ? JNI er den korrekte måde at gøre det på, hvis man endelig vil lave noget properitært kode, hvilket jeg fraråder.
Synes godt om
Ny brugerNybegynder
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.