Thomas Darimont
Erfahrenes Mitglied
Hallo!
Habe gerade herausgefunden, wie man mittels SWT aus der Windows Registry lesen kann.
Das Schreiben reiche ich nach:
Lesen:
//Edit
Mist ich glaube mit SWT Mitteln kann nur gelesen werden... :-( mal schaun...
gruß Tom
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