Registry - Eintrag

Status
Nicht offen für weitere Antworten.

Kaladial

Bekanntes Mitglied
hi

ich möchte sowas wie ne registrierung in mein programm einbauen.
dazu möchte ich das mein programm beim start überprüft: ist in der regisrty ein bestimmter eintrag gesetzt

wenn ja: programm soll starten
wenn nein: soll ne abfrage (ala reg key eingeben) kommen und wenn der richtig ist, soll ein eintrag, auf dem das programm beim programmstart überprüft, eingetragen werden...

hab im mom nich so die richtige idee wo ich da überhaupt anfangen soll da ich sowas noch nie gemacht hab...
kann mir da pls einer helfen?

thx Kala
 

The_S

Top Contributor
Zum Einen wird sowas dann Plattformabhängig, da nur Windows ne Registry hat und zum Andern kannst du die Forensuche verwenden, da gibts nen sehr guten Thread von thE_29 zu :) .
 

Kaladial

Bekanntes Mitglied
plattformabhängig is mein programm eh schon also das stört mich net...

hmmm link wäre netter gewesen ... naja ich guck ma ob ich was finde
 

Kaladial

Bekanntes Mitglied
the_29: jo hatte ich per foren suche gefunden *ggg*

aber irgendwie fehlen mir die beispielen um zu verstehn was ich wie machen muss :)

also rein theoretisch:

ich will folgende 3 aktionen machen:

1.) suche in HKEY_CURRENT_USER\\Software\\AVS3
den wert "regKey"

^^ also will wissen gibt es den unterordner AVS3 und gibt es den wert regKey und wie ist dieser wert?

2.) erstelle den ordner AVS3 und den wert regKey mit dem wert 0

3.) Update den wert regKey und setzte den wert auf 1

wie genau müsste dann mein programm aussehn?
weil is mir jetzt irgendwie nen rätsel :)

mfg Kala
 

Kaladial

Bekanntes Mitglied
Code:
					try{
						Regor reg = new Regor(); 
			            int key = reg.createKey(reg.HKEY_CURRENT_USER, "Software\\AVS3"); 
			            reg.closeKey(key);
			            key = reg.openKey(reg.HKEY_CURRENT_USER, "Software\\AVS3");
			            reg.setValue(key, "regKey", "1"); 
			            reg.closeKey(key);
					}catch(Exception ex){}

also soweit bin ich ja schon
also ich kann nen verzeichnis anlegen und nen wert anlegen
aber wie kann ich abfragen ob der wert bzw das verzeichnis überhaupt existiert?
 

Kaladial

Bekanntes Mitglied
ok hab nun auch herraus gefunden das wenn ein verzeichnis nicht da ist und ich es öffnen will der wert key = -1 ist

Code:
key = reg.openKey(reg.HKEY_CURRENT_USER, "Software\\AVS3");

^^ wenn verzeichnis nicht da ist dann key = -1

aber ich hab noch nicht herrausbekommen wie ich den wert abfrage bzw gucke ob der überhaupt da ist ...
 

thE_29

Top Contributor
Das Verzeichnis kannst du dir mit listKeys zurückgeben lassen!

Und willst du WÖRTER auslesen oder was anderes?!

Werde mal ein bißchen was umbauen (Version 3.0) um auch Zahlenwerte via dirty runtime auszulesen!
 

Kaladial

Bekanntes Mitglied
Code:
					try{
						Regor reg = new Regor(); 
			            int key = reg.createKey(reg.HKEY_CURRENT_USER, "Software\\AVS3"); 
			            reg.closeKey(key);
			            key = reg.openKey(reg.HKEY_CURRENT_USER, "Software\\AVS4");
			            System.out.println(key);
			            key = reg.openKey(reg.HKEY_CURRENT_USER, "Software\\AVS3");
			            System.out.println(key);
			            reg.setValue(key, "regKey", "3"); 
			            System.out.println(reg.listKeys(key));
			            reg.closeKey(key);
					}catch(Exception ex){}

hatte ich jetzt gedacht aber als ausgabe bekomm ich:

-1
17400
null <-- wieso null???
in dem verzeichnis avs3 gibt es doch den key = "regKey" der den wert 3 hat... wieso bekomme ich ein null zurück??

will eigentlich nur zahlen auslesen
 

thE_29

Top Contributor
Weil das ein DWORD Eintrag ist und keine ZEICHENFOLGE!

Wie ich auch oben geschrieben habe ;) (und auch als Bug in sourceforge submitted wurde)

Ich baue es zZ auf Version 3 um, wo ich DWORD Einträge via Runtime und regedit /e rauslesen will!

Das ganze ist nie ziemliche blöde rumparserei, also wirds noch ein bißchen dauern.
 

Kaladial

Bekanntes Mitglied
naja aber wenn ich wer reg.setValue(key, "regKey", "3"); den wert rein schreibe steht doch in in dem key nen richtiger wert drin

is mir doch gleich ob das nen dword oder wie jetzt nen reg_sz ist

mir reicht doch der reg_sz
ich will den nur auslesen ...
 

Kaladial

Bekanntes Mitglied
24100.jpg


^^ is doch vollkommen ausreichend nur wie les ich den wert aus?
 
G

Gast

Gast
ach leute, warum diesen umständlichen weg gehen? schreibs einfach in ne textdatei dann haste auch plattformunabhängigkeit und musst nicht son driss da machen.
 

thE_29

Top Contributor
listKeys listet dir die SCHLÜSSEL aus ;)

Du brauchst listValueNames

Code:
      System.out.println(reg._listValueNames(key));
      System.out.println(">> " + Regor.parseValue(reg._readValue(key, "regKey")));

Du brauchst listValueNames und readValue (die _ sind in der Version 3 dann umbenannte, da die int Werte nicht mehr reichen!)
 

thE_29

Top Contributor
So!

DWORD, BINARY, MULTI und EXPAND kann man jetzt auch schon auslesen ;)

Es ist zwar ein Wrapping über Runtime und regedit /e, aber was solls! Da es ein paar Leute brauchen, werde ich woll auch noch die set Methode brauchen ;)
 

Kaladial

Bekanntes Mitglied
jo geht ebenfals :)

mich hat zwar das closeKey grad n bissel geärgert aber als ich rausgefunden hab das man nur noch keys schliessen kann die auch wirklich offen sind war das problem auch gelöst :)
 

thE_29

Top Contributor
Welches OS hast du den?

Und hast du auch probiert ein DWORD, BINARY, MULTI oder EXPAND zu schreiben?


So, da hier im Forum zu wenig für Tests los ist, habe ich es mal in sourceforge auch raufgeladen ;)

Hoffentlich gibts keine Fehler und falls es welche gibt, hoffe ich das sie mir die Fehler schicken!
 

Kaladial

Bekanntes Mitglied
hmmm um ehrlich zu sein hab ich das net ausprobiert weil ich es net brauchte ... aber wenn du mir verrätst wie ich nen dword z.b. schreibe dann probier ich das gerne aus ...
 

thE_29

Top Contributor
Naja, du öffnest es mit der neuen Key Klasse und dann sagst du zB readDword(Key, NAME)

Such dir halt nen DWORD Eintrag in der Registry und probiers! Kannst auch saveDword(Key, NAME, HEXWERT) sagen!
 

Kaladial

Bekanntes Mitglied
jo also dword reinschreiben und auslesen geht...
allerdings sollte villeicht noch irgendwo stehn das dword maximal ffffffff annehmen kann bzw wenns drüber is sollte ne meldung kommen :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Registry Key bekommen Java Basics - Anfänger-Themen 1
G Erste Schritte Nach bestimmten Dateien suchen und dann in die Registry schreiben. Java Basics - Anfänger-Themen 6
E JNI Registry in Executable Jar Datei nutzen? Java Basics - Anfänger-Themen 6
T Einstellungen in der Registry speichern Java Basics - Anfänger-Themen 5
S Windows Registry nur lesen Java Basics - Anfänger-Themen 3
S Autostart (Registry) Java Basics - Anfänger-Themen 6
G RMI Registry? Java Basics - Anfänger-Themen 3
F in Registry eintragen Java Basics - Anfänger-Themen 5
B Registry auslesen Java Basics - Anfänger-Themen 4
J Eintrag Combobox über einen String auswählen Java Basics - Anfänger-Themen 3
J ArrayList auf bereits vorhanden eintrag prüfen Java Basics - Anfänger-Themen 5
J Array eintrag mit möglichst wenig code lösen Java Basics - Anfänger-Themen 16
C Array-Eintrag wieder auf Null setzen Java Basics - Anfänger-Themen 3
M JComboBox ersten Eintrag leerlassen bzw. Platzhalter Java Basics - Anfänger-Themen 1
A Größten Eintrag aus Binärbaum löschen Java Basics - Anfänger-Themen 4
S Array Eintrag ändern Java Basics - Anfänger-Themen 6
Q-bert MYSQL-Eintrag Java Basics - Anfänger-Themen 2
V String Array gegen null-Eintrag sichern Java Basics - Anfänger-Themen 11
X XML-Eintrag an Attribute erkennen Java Basics - Anfänger-Themen 2
thobren arraylist es wird nur der letzte Eintrag angezeigt Java Basics - Anfänger-Themen 2
D javac kann trotz PATH-Eintrag nicht gefunden werden (Hello World) Java Basics - Anfänger-Themen 10
T Liste mit 2 Werten pro Eintrag Java Basics - Anfänger-Themen 9
S Einen Eintrag im Array löschen? Java Basics - Anfänger-Themen 11
B Variablen Android: Spinner-Eintrag einen versteckten numerischen Wert zuordnen und Variable übergeben Java Basics - Anfänger-Themen 3
M ArrayList || Bei Ausgabe nach jedem 10. Eintrag Zeilenumbruch Java Basics - Anfänger-Themen 7
R Den übernächsten Eintrag in der Liste vergleichen und zusammen fassen Java Basics - Anfänger-Themen 11
H Eintrag aus ArrayList entfernen Java Basics - Anfänger-Themen 7
M Properties Eintrag löschen, welcher in der JList "ausgewählt" wurde Java Basics - Anfänger-Themen 2
D OpenCSV Fehllender Konstruktor trotz import und Buildpath Eintrag Java Basics - Anfänger-Themen 1
C OOP Aus Vektor zufällig einen Eintrag wählen und in Array[][] schreiben Java Basics - Anfänger-Themen 5
B Frage zu Eintrag in txt Java Basics - Anfänger-Themen 2
B Ersten Eintrag aus einer Map bekommen Java Basics - Anfänger-Themen 11
A Eintrag einer JLIST speichern Java Basics - Anfänger-Themen 3
G Es wird immer nur der Eintrag in der Text Area angezeit Java Basics - Anfänger-Themen 6
K classpath eintrag funktioniert nicht Java Basics - Anfänger-Themen 8
M log-Eintrag Java Basics - Anfänger-Themen 7
T Eintrag aus Array löschen Java Basics - Anfänger-Themen 9
F [Map] Eintrag gezielt verändern Java Basics - Anfänger-Themen 3
M Systray Eintrag auch nach Neustart Java Basics - Anfänger-Themen 5
G TreeMap vom 1. bis letzte eintrag durchgehen Java Basics - Anfänger-Themen 17
K Startmenu Eintrag erstellen per Code Java Basics - Anfänger-Themen 3
E HSQLDB Datenbank Eintrag Java Basics - Anfänger-Themen 11
NightmareVirus Java zaubert einen Eintrag herbei :confused: Java Basics - Anfänger-Themen 2
A Wie Eintrag über AbstractListModel aus Vector entfernen? Java Basics - Anfänger-Themen 2
S Table Eintrag ,problem mit public boolean containsKey Java Basics - Anfänger-Themen 7
F Class-Path Eintrag in Manifest Java Basics - Anfänger-Themen 6
R Abfragen, ob schon ein Eintrag in der HashMap steht Java Basics - Anfänger-Themen 11
V JList(s) leer sobald ein Eintrag in 2+ Listen gewählt wird Java Basics - Anfänger-Themen 3
J Hashmap enthält immer nur den zuletzt zugeordneten Eintrag Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben