» »

[java] branje win registra

[java] branje win registra

DCER ::

Pozdrav!

Upam, da mi bo kdo pomagal rešiti problem. Prebrati moram neko vrednost iz registra (v HKEY_LOCAL_MACHINE].

V javi nisem našel classov, ki bi mi to omogočali. Od strica googla sem zvedel, da je zato potrebno spisati dll v C/C++ in ga potem vkljuciti kot native code v javi. Kaj takega najbrž še nekaj časa ne bom znal narediti, zato to odpade. Našel sem tudi nek Jawin, a ga ne znam uporabiti. :(

A obstaja kak lahek način kako bi to naredil s čim manj dodatne prtljage? Vse kar rabim je prebrati neko vrednost iz registra... Je kdo že delal to? Iskušnje?

Pomagajte prosim :'(

kopernik ::

Točno s takim problemom se še nisem ukvarjal, vendar pa za podobne sistemske zadeve navadno kar zaženem neko orodje, ki je lahko del oper. sistema in preberem output programa. V tem primeru bi klical programčič reg, s katerim lahko prebereš windows registry in je priložen windowsem.

Evo, en primer imaš tukaj.

Mimogrede, zaganjanje novega procesa je relativno počasno, zato tak način ni ustrezen za take primere uporabe, kjer bi hotel velikokrat in v kratkem času prebrati windows registry (kar pa niti ni logično, ker se registry, kolikor vem, malo spreminja, zato lahko cache-iraš oz. shranjuješ prebrane vrednosti ...).

Tr0n ::

Poglej si razred java.util.prefs.Preferences za omejeno varianto. Drugace je pa kar nekaj APIjev za delo z Windows registri. Naceloma lahko tudi s sistemskim procesom (exec()), ceprav ni najbolj priporocljivo.

http://www.rgagnon.com/javadetails/java-0421.html

Zgodovina sprememb…

  • spremenilo: Tr0n ()

CCfly ::

Jaz sem uporabil python v Javo pa ga lahko integriraš z jythonom.
Verjetno je še najlaže spisati kratek programček, ki vrednost iz registra izpiše v datoteko, potem pa v Javi le prebereš vrednost.
"My goodness, we forgot generics!" -- Danny Kalev

CCfly ::

java.util.prefs.Preferences
Super tole bo verjetno boljša ideja.
"My goodness, we forgot generics!" -- Danny Kalev

kopernik ::

Ja, ampak zgleda da lahko s tem pišeš oz. bereš samo neko omejeno področje, ki ti ga kreira java ob namestitvi jdk-ja.

DCER ::

Hvala vam, da mi pomagate.

"Ja, ampak zgleda da lahko s tem pišeš oz. bereš samo neko omejeno področje, ki ti ga kreira java ob namestitvi jdk-ja."

Ravno to je problem. Če uporabljaš tole si omejen v neko področje. Rabim pa dostop do vrednosti zunaj njega.

Za uporabo API-jev rabis JNI? JNI bi se najrajši izognil.

Kopernik, tale reg se slisi v redu, se bom poglobil v to.

Glede časa pa ni problema, ker rabim to le občasno in le za dve vrednosti.

Še enkrat hvala za pomoč!

DCER ::

Sem že rešil zadevo :)

Uporabil sem kodo s kopernikovega linka (hvala kopernik!!!), le stringe sem spremenil. Dela super, čeprav se res pozna pri času izvajanja, ampak je sprejemljivo.

Še enkrat hvala vsem!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Java bo placljiva (strani: 1 2 )

Oddelek: Programska oprema
7816940 (8904) opeter
»

[Java] Evidenca delovnega časa - Java v navezi z Accessom

Oddelek: Programiranje
393295 (2515) c0dehunter
»

Visual Basic, C#, C++, razlike... (strani: 1 2 3 )

Oddelek: Programiranje
12212647 (10318) 64202
»

[C++] for {}

Oddelek: Programiranje
291721 (1415) Gundolf
»

Kako pošiljanje datotek v JAVI.

Oddelek: Programiranje
141846 (1717) kopernik

Več podobnih tem