Register lezen toegevoegd.
This commit is contained in:
@@ -63,3 +63,27 @@ JNIEXPORT jboolean JNICALL Java_mimis_util_Native_terminate(JNIEnv *env, jclass
|
|||||||
delete hProcess;
|
delete hProcess;
|
||||||
return bResult;
|
return bResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JNIEXPORT jstring JNICALL Java_mimis_util_Native_getValue(JNIEnv *env, jclass cls, jint registry, jstring jkey, jstring jname) {
|
||||||
|
const char *key = env->GetStringUTFChars(jkey, 0);
|
||||||
|
const char *name = env->GetStringUTFChars(jname, 0);
|
||||||
|
HKEY hKey;
|
||||||
|
char *value = NULL;
|
||||||
|
if (RegOpenKey((HKEY) registry, key, &hKey) == ERROR_SUCCESS) {
|
||||||
|
char nameBuffer[255];
|
||||||
|
byte valueBuffer[255];
|
||||||
|
DWORD dwNameSize = sizeof(nameBuffer);
|
||||||
|
DWORD dwValueSize = sizeof(valueBuffer);
|
||||||
|
int i = 0;
|
||||||
|
while (RegEnumValue(hKey, i++, nameBuffer, &dwNameSize, NULL, NULL, valueBuffer, &dwValueSize) == ERROR_SUCCESS) {
|
||||||
|
if (strcmp(name, nameBuffer) == 0) {
|
||||||
|
value = (char*) valueBuffer;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
dwNameSize = sizeof(nameBuffer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fflush(stdout);
|
||||||
|
RegCloseKey(hKey);
|
||||||
|
return env->NewStringUTF(value);
|
||||||
|
}
|
||||||
|
|||||||
@@ -54,6 +54,19 @@ JNIEXPORT jboolean JNICALL Java_mimis_util_Native_isRunning
|
|||||||
*/
|
*/
|
||||||
JNIEXPORT jboolean JNICALL Java_mimis_util_Native_terminate
|
JNIEXPORT jboolean JNICALL Java_mimis_util_Native_terminate
|
||||||
(JNIEnv *, jclass, jstring);
|
(JNIEnv *, jclass, jstring);
|
||||||
|
/*
|
||||||
|
* Class: mimis_util_Native
|
||||||
|
* Method: getValue
|
||||||
|
* Signature: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Class: mimis_util_Native
|
||||||
|
* Method: getValue
|
||||||
|
* Signature: (Lmimis/value/Registry;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
|
||||||
|
*/
|
||||||
|
JNIEXPORT jstring JNICALL Java_mimis_util_Native_getValue
|
||||||
|
(JNIEnv *, jclass, jint, jstring, jstring);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user