Windows Registry lesen/ schreiben per SWT

Thomas Darimont

Erfahrenes Mitglied
Hallo!

Habe gerade herausgefunden, wie man mittels SWT aus der Windows Registry lesen kann.
Das Schreiben reiche ich nach:

Lesen:
Code:
/**
 * 
 */
package de.tutorials;

import org.eclipse.swt.internal.win32.OS;
import org.eclipse.swt.internal.win32.TCHAR;

/**
 * @author Administrator
 * 
 */
public class SWTWin32RegistryExample {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String regKeyPath = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
		String attributeName = "internat.exe";

		TCHAR key = new TCHAR(0, regKeyPath, true);
		int phkResult[] = new int[1];
		// Es Wird der Wert aus HKEY_CURRENT_USER (0x80000001) genommen
		// HKEY_LOCAL_MACHINE (0x80000002)
		int result = OS.RegOpenKeyEx(0x80000001, key, 0, 0x20019, phkResult);

		if (result != 0)
			return;

		/*
		 * Länge des Buffers für die Zeichenfolge... Muss genau doppelt so lang
		 * sein wie die länge der maximalen zeichenfolge + 1 (\0) ... Bsp.:
		 * internat.exe -> 12 Zeichen -> internat.exe\0 -> 13 Zeichen -> 13 * 2 ->
		 * 26
		 * 
		 * Standardmäßige Werte wären 128 oder 256.
		 */
		int[] lpcbData = { 26 };

		TCHAR lpData = new TCHAR(0, lpcbData[0]);

		result = OS.RegQueryValueEx(phkResult[0], new TCHAR(0, attributeName,
				true), 0, null, lpData, lpcbData);

		OS.RegCloseKey(phkResult[0]);

		if (result == 0) {
			// Nun können wir den gefunden Wert aus dem lpData herausziehen.
			System.out.println(lpData.toString(0, lpData.strlen()));
		}
	}
}

//Edit
Mist ich glaube mit SWT Mitteln kann nur gelesen werden... :-( mal schaun...

gruß Tom
 
Ich find fast solche Sachen sollte man alle in irgend einem angehefteten Thread sammeln ..
Ist immer ziemlich schade, dass sowas dann nach unten rutscht .. :)

Ok .. es gibt die Suche .. aber bei einigen Sachen kommt man ja erst auf die Idee, wenn man`s sieht ..
 
Zurück