Anzeige:
Ergebnis 1 bis 7 von 7

Thema: Windows Registry Zugriff

  1. #1
    Anuschka
    Gast

    Windows Registry Zugriff

    Hallo Zusammen

    ich hoffe ihr könnt mir helfen. Ich verwende das Paket COM.ICE.JNI.REGISTRY um mit Java auf die Windows Registry zuzugreifen. Soweit klappt das auch alles. Nun will ich jedoch in der Registry einen Wert vom Typ REG_DWORD ändern. Wenn Sie vom REG_SZ sind kann ich sie ganz einfach wie einen String behandeln. Bei REG_DWORD stehe ich jetzt ein wenig auf dem Schlauch. Ich möchte als Beispiel den Wert von 0x00000001 auf 0x00000000 ändern.

    Beispiel für String:
    Code:
    RegistryKey software = schluessel.openSubKey("Software\\Star Downloader");
    RegistryKey meiner = software.createSubKey(schluesselName, null);
    RegStringValue wert = new RegStringValue(meiner, "FTPProxyPort", jTextField2.getText())
    Soweit bin ich bis jetzt beim "Binary D_WORD".
    Code:
    RegistryValue wert4 = new RegBinaryValue(meiner, "UseFTPProxy",   ?????????????????? );
    Code:
    byte [] nett = new String("?????????????????? ").getBytes();
    RegistryValue wert4 = new RegBinaryValue(meiner, "UseFTPProxy", nett);
    Nun weiss ich jedoch nicht weiter. Kennt sich einer von euch eventuell damit aus und kann mir helfen ?

    LG Anja

  2. #2
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Ich kenn mich damit nicht aus - aber zu helfen versuchen kann ich ja mal:

    Was funktioniert genau nicht:
    - Programm macht nicht, was es soll
    - Kompilieren geht nicht

    Vielleicht so etwas:

    byte[] bytes = new byte[8];
    byte[0]=0;
    byte[1]=0;...

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  3. #3
    Anuschka
    Gast
    Danke für deine Antwort

    der Zugriff funktioniert. Die daten werden in die Registry geschrieben, jedoch stimmt der Typ nicht.

    als Beispiel:
    Soll:
    FTPProxyEnable 0x00000000(0) (HEX)
    Ist:
    FTPProxyEnable 0

    Sowie es bei "Soll" beschrieben steht, soll es in der REgistry stehen. Das Programm schreibt es wie in "Ist" gezeigt, leider keinen HEX-Code hin, sondern konvertiert es wenn ich es als String(0) angebe, den Typ von REG_DWORD auf REG_SZ bzw. wenn ich es als Binary übergebe, versucht er es zwar zu speichern, aber als HEX schreibt er es dennoch nicht hin.

    LG

  4. #4
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Und wenn dus gar nicht erst als String eingibst? Bzw: Gib mal das Byte-Array auf der Kommandozeile aus - dann siehst du, wo der Fehler passiert.

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  5. #5
    Anuschka
    Gast
    Er gibt mir ja keinen Fehler. Wenn ich den Wert setze, passt er die Registry einfach in den passenden Typ der Eingabe um. Wenn ich den Wert auslese bekomme ich in der Komandozeile in der Ausgabe nur ein Kästchen.

  6. #6
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Was ist, wenn du ein byte[] Array mit zwei Elementen (also die Länge von DWORD) nimmst, und beide Element 0 setzt?

    Edit: bzw setDWordCommand?

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  7. #7
    Anuschka
    Gast
    So danke für eure Antworten hab nen Lösungsweg gefunden.

    Es lag daran dass Java Big endian benutzt und windows litte endian. das muss man dann nur konvertieren. bei mir läuft es so:

    Code:
    RegistryValue wert4 = new RegDWordValue(meiner, "UseFTPProxy", RegDWordValue.REG_DWORD_LITTLE_ENDIAN,  1 );
    lg anja

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •