示例#1
0
void regSearchWow(const char* keyName, const int searchType) {
	HKEY hKey;
	debug("64-bit search:\t%s...\n", keyName);
	if (wow64 && RegOpenKeyEx(HKEY_LOCAL_MACHINE,
			keyName,
			0,
            KEY_READ | KEY_WOW64_64KEY,
			&hKey) == ERROR_SUCCESS) {

		regSearch(hKey, keyName, searchType | KEY_WOW64_64KEY);
		RegCloseKey(hKey);
		if ((foundJava & KEY_WOW64_64KEY) != NO_JAVA_FOUND)
		{
			debug("Using 64-bit runtime.\n");
			return;
		}
	}
	debug("32-bit search:\t%s...\n", keyName);
	if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,
			keyName,
			0,
            KEY_READ,
			&hKey) == ERROR_SUCCESS) {
		regSearch(hKey, keyName, searchType);
		RegCloseKey(hKey);
	}
}
示例#2
0
void regSearchWow(const char* keyName, const int searchType)
{
    HKEY hKey;
    if (runtimeBits == INIT_RUNTIME_BITS)
    {
        runtimeBits = loadInt(RUNTIME_BITS);
    }

    if ((runtimeBits & USE_64_BIT_RUNTIME) && wow64)
    {
        debug("64-bit search:\t%s...\n", keyName);
        if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,
                         keyName,
                         0,
                         KEY_READ | KEY_WOW64_64KEY,
                         &hKey) == ERROR_SUCCESS)
        {
            regSearch(hKey, keyName, searchType | KEY_WOW64_64KEY);
            RegCloseKey(hKey);
            if ((foundJava & KEY_WOW64_64KEY) != NO_JAVA_FOUND)
            {
                return;
            }
        }
    }

    if (runtimeBits & USE_32_BIT_RUNTIME)
    {
        debug("32-bit search:\t%s...\n", keyName);
        if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,
                         keyName,
                         0,
                         KEY_READ,
                         &hKey) == ERROR_SUCCESS)
        {
            regSearch(hKey, keyName, searchType);
            RegCloseKey(hKey);
        }
    }
}
示例#3
0
文件: head.c 项目: antonjk/daxtop
void regSearchWow(const char* keyName, const int searchType) {
	HKEY hKey;
	if (wow64 && RegOpenKeyEx(HKEY_LOCAL_MACHINE,
			TEXT(keyName),
			0,
            KEY_WOW64_64KEY | KEY_QUERY_VALUE | KEY_ENUMERATE_SUB_KEYS,
			&hKey) == ERROR_SUCCESS) {
		regSearch(hKey, keyName, searchType);
		RegCloseKey(hKey);
		if (foundJava != NO_JAVA_FOUND)
		{
			regWow64Option = KEY_WOW64_64KEY;
			return;
		}
	}
	if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,
			TEXT(keyName),
			0,
            KEY_QUERY_VALUE | KEY_ENUMERATE_SUB_KEYS,
			&hKey) == ERROR_SUCCESS) {
		regSearch(hKey, keyName, searchType);
		RegCloseKey(hKey);
	}
}