亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? regconnect.c

?? 一個(gè)用java jni遠(yuǎn)程訪問(wèn)注冊(cè)表的例子
?? C
字號(hào):
#include <windows.h>
#include <string.h>
#include "jni.h"
#include ".\java\GetKey.h"		//JNI implementation of RegDBGetKeyValueEx
#include ".\java\SetKey.h"		//JNI implementation of RegDBSetKeyValueEx

// Global Variable to store the DLL's Instance handle
HINSTANCE ghDLLInst ;

char *rgchModuleName = "RegConnect";									//Name of module

// Function prototypes
int WINAPI RegDBGetKeyValueEx(LPCTSTR, HKEY ,LPCTSTR, LPCTSTR, LPTSTR) ;
int WINAPI RegDBSetKeyValueEx(LPCTSTR, HKEY ,LPCTSTR, LPCTSTR, LPCTSTR) ;

// -----------------------------------------------------------------
// Function: LibMain
//
// Purpose : This is the DLL's entry point.  It is analogous to WinMain for applications.
//
// Params  : hInstance   ==  The handle to the DLL's instance.
//           wDataSeg    ==  Basically it is a pointer to the DLL's data segment.
//           wHeapSize   ==  Size of the DLL's heap in bytes.
//           lpszCmdLine ==  The command line passed to the DLL by Windows.  This is rarely used.
//
// Returns : 1 indicating DLL initialization is successful.
//
// Comments: LibMain is called by Windows.  Do not call it in your application!
// -----------------------------------------------------------------
//int FAR PASCAL LibMain (HANDLE hInstance, WORD wDataSeg, WORD wHeapSize, LPSTR lpszCmdLine)
BOOL WINAPI DllMain(HINSTANCE hinstDLL,	// handle to DLL module 
					DWORD fdwReason,	// reason for calling function 
					LPVOID lpvReserved) // reserved 
   
{
	ghDLLInst = hinstDLL ;
    // Perform actions based on the reason for calling.
    switch( fdwReason )  
    { 
        case DLL_PROCESS_ATTACH:
			// Initialize once for each new process.
			// Return FALSE to fail DLL load.
            break;

        case DLL_THREAD_ATTACH:
         // Do thread-specific initialization.
            break;

        case DLL_THREAD_DETACH:
         // Do thread-specific cleanup.
            break;

        case DLL_PROCESS_DETACH:
         // Perform any necessary cleanup.
            break;
    }
    return TRUE;  // Successful DLL_PROCESS_ATTACH.
}

//////////////////////////////////////////////////////////////////////////
//  Function:  RegDBGetKeyValueEx
//
//  Description: Retrieves the string associated with the specified key in a remote registry.
//
//  Parameters:
//    lpMachineName	-	Name of machine we want to interrogate 
//    hRegKey		-	Registry key type, i.e. HKEY_LOCAL_MACHINE
//	  lpKeyName		-	Tree to Key we want to get i.e. software\ibm\db2
//    lpValueName	-	Value we want to get i.e. DB2 path name
//    lpszKeyValue	-	Value we will get back - may need pre-dimensioning
//  Returns:
//    non zero error code on failure, 0 on success
//////////////////////////////////////////////////////////////////////////
int WINAPI RegDBGetKeyValueEx(LPCTSTR lpMachineName, HKEY hRegKey, LPCTSTR lpKeyName, LPCTSTR lpValueName, LPTSTR lpszKeyValue)
{
// Local variables
HKEY		hRemoteKey = NULL ;
HKEY		hKey = NULL ;
DWORD       dwKeySize;            // Size of key value
DWORD       dwKeyDataType;        // Type of data stored in key
LONG        lRC;                  // Return code
char		cMachine[128] = {0} ;

	//  Initialize variables
    dwKeyDataType = 0;
    dwKeySize = 0;

	if(lpMachineName)
		if(lpMachineName[0] != 0)
			wsprintf(cMachine,"\\\\%s",lpMachineName) ;

	// Connect to the remote registry
	lRC = RegConnectRegistry(cMachine, hRegKey, &hRemoteKey) ;
    if (lRC != ERROR_SUCCESS)
		return lRC ;
	
    //Open the key
	lRC = RegOpenKeyEx(hRemoteKey, lpKeyName, 0, KEY_ALL_ACCESS, &hKey);
    if (lRC == ERROR_SUCCESS)
		{
		// Got key, get value.  First, get the size of the key.
		lRC = RegQueryValueEx(hKey, lpValueName, NULL, &dwKeyDataType, NULL, &dwKeySize);

		if(dwKeyDataType == REG_DWORD)		//DWORD
			{
			char cData[128] = {0} ;
			lRC = RegQueryValueEx(hKey, lpValueName, NULL, &dwKeyDataType, (LPBYTE)cData, &dwKeySize);
			ltoa((LONG)cData[0], lpszKeyValue, 10) ;
			}
		else
			// Now get the actual key value
			lRC = RegQueryValueEx(hKey, lpValueName, NULL, &dwKeyDataType, (LPBYTE)lpszKeyValue, &dwKeySize);
		}

	RegCloseKey(hKey) ;
	RegCloseKey(hRemoteKey) ;
	return lRC ;
}   // End of function RegDBGetKeyValueEx

//////////////////////////////////////////////////////////////////////////
//  Function:  RegDBSetKeyValueEx
//
//  Description: Sets the string associated with the specified key in a remote registry.
//
//  Parameters:
//    lpMachineName	-	Name of machine we want to interrogate 
//    hRegKey		-	Registry key type, i.e. HKEY_LOCAL_MACHINE
//	  lpKeyName		-	Tree to Key we want to set i.e. software\ibm\db2
//    lpValueName	-	Value key we want to set i.e. DB2 path name
//    lpszKeyValue	-	Value we will set in the registry

//  Returns:
//    non zero error code on failure, 0 on success
//////////////////////////////////////////////////////////////////////////
int WINAPI RegDBSetKeyValueEx(LPCTSTR lpMachineName, HKEY hRegKey, LPCTSTR lpKeyName, LPCTSTR lpValueName, LPCTSTR lpszKeyValue)
{
// Local variables
HKEY		hRemoteKey = NULL ;
HKEY		hKey = NULL ;
LONG        lRC;                  // Return code
char		cMachine[128] = {0} ;
DWORD		dwDisp;

	if(lpMachineName)
		if(lpMachineName[0] != 0)
			wsprintf(cMachine,"\\\\%s",lpMachineName) ;

	// Connect to the remote registry
	lRC = RegConnectRegistry(cMachine, hRegKey, &hRemoteKey) ;
    if (lRC != ERROR_SUCCESS)
		return lRC ;
	
    //  Initialize variables
	lRC = RegCreateKeyEx(hRemoteKey, lpKeyName, 0, REG_NONE,
			REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &dwDisp) ;

    if (lRC == ERROR_SUCCESS)
		{
		// Got key, set value.
		lRC = RegSetValueEx(hKey, lpValueName, 0, REG_SZ, (LPBYTE)lpszKeyValue, strlen(lpszKeyValue) + 1) ;
		RegCloseKey(hKey) ;
		}

	RegCloseKey(hRemoteKey) ;
	return lRC ;
}   // End of function RegDBGetKeyValueEx

// Java implementation of RegDBGetKeyValueEx
JNIEXPORT jobject JNICALL Java_GetKey_RegDBGetKeyValueEx(JNIEnv* env, jobject this_obj, 
			jstring jMachineName, jint hRegKey, jstring jKeyName, jstring jValueName)
{
LPCTSTR lpMachineName ;
LPCTSTR lpKeyName ;
LPCTSTR lpValueName ;
char cKeyValue[255] ;
jobject ret ;

	lpMachineName = (*env)->GetStringUTFChars(env, jMachineName, NULL) ;
	lpKeyName = (*env)->GetStringUTFChars(env, jKeyName, NULL) ;
	lpValueName = (*env)->GetStringUTFChars(env, jValueName, NULL) ;

	RegDBGetKeyValueEx(lpMachineName, (HKEY)hRegKey, lpKeyName, lpValueName, cKeyValue) ;
	
	(*env)->ReleaseStringUTFChars(env, jMachineName, NULL) ;
	(*env)->ReleaseStringUTFChars(env, jKeyName, NULL) ;
	(*env)->ReleaseStringUTFChars(env, jValueName, NULL) ;
	ret = (*env)->NewStringUTF(env, cKeyValue) ;
	return ret ;
}	// End of function Java_GetKey_RegDBGetKeyValueEx

// Java implementation of RegDBSetKeyValueEx
JNIEXPORT jint JNICALL Java_SetKey_RegDBSetKeyValueEx(JNIEnv* env, jobject this_obj, 
			jstring jMachineName, jint hRegKey, jstring jKeyName, jstring jValueName, jstring jKeyValue)
{
LPCTSTR lpMachineName ;
LPCTSTR lpKeyName ;
LPCTSTR lpValueName ;
LPCTSTR lpszKeyValue ;
int iRet ;

	lpMachineName = (*env)->GetStringUTFChars(env, jMachineName, NULL) ;
	lpKeyName = (*env)->GetStringUTFChars(env, jKeyName, NULL) ;
	lpValueName = (*env)->GetStringUTFChars(env, jValueName, NULL) ;
	lpszKeyValue = (*env)->GetStringUTFChars(env, jKeyValue, NULL) ;

	iRet = RegDBSetKeyValueEx(lpMachineName, (HKEY)hRegKey, lpKeyName, lpValueName, lpszKeyValue) ;
	
	(*env)->ReleaseStringUTFChars(env, jMachineName, NULL) ;
	(*env)->ReleaseStringUTFChars(env, jKeyName, NULL) ;
	(*env)->ReleaseStringUTFChars(env, jValueName, NULL) ;
	(*env)->ReleaseStringUTFChars(env, jKeyValue, NULL) ;
	return iRet ;
}	// End of function Java_SetKey_RegDBGetKeyValueEx

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99国产精品尤物| 欧美写真视频网站| 欧美日本免费一区二区三区| 日韩美一区二区三区| 亚洲色图制服诱惑| 国产精品影视天天线| 91精品综合久久久久久| 亚洲精品成a人| 丁香一区二区三区| 欧美一区二区啪啪| 最新热久久免费视频| 美女精品自拍一二三四| av电影在线观看不卡| 欧美电影一区二区三区| 1区2区3区欧美| 美腿丝袜亚洲综合| 欧美影院午夜播放| 久久精品免视看| 捆绑紧缚一区二区三区视频 | 亚洲日本va午夜在线影院| 亚洲aⅴ怡春院| eeuss影院一区二区三区| 日韩一区二区不卡| 亚洲精选免费视频| 国产精品99久久久久久久vr| 在线播放视频一区| 亚洲黄一区二区三区| 国产成人免费xxxxxxxx| 精品免费日韩av| 亚洲午夜av在线| 99精品视频在线免费观看| 精品国产乱码久久久久久闺蜜| 亚洲国产中文字幕| 99久久久久免费精品国产| 久久久亚洲精品石原莉奈| 免费的国产精品| 欧美日韩午夜影院| 亚洲制服丝袜在线| 一本高清dvd不卡在线观看| 国产欧美精品日韩区二区麻豆天美| 蜜桃视频一区二区三区| 91精品婷婷国产综合久久性色| 亚洲精品自拍动漫在线| 99re热这里只有精品免费视频| 国产日韩欧美精品综合| 国产九色精品成人porny| 久久看人人爽人人| 国产精品一区二区在线看| 久久婷婷色综合| 国产一区二区免费视频| xnxx国产精品| 国产乱码精品一区二区三区忘忧草| 日韩视频免费观看高清完整版| 五月天中文字幕一区二区| 欧美亚洲综合一区| 亚洲福利电影网| 91精品国产手机| 精东粉嫩av免费一区二区三区| 欧美视频精品在线观看| 亚洲成人av一区| 欧美一区二区福利视频| 精品一区二区av| 久久久久国产精品厨房| 成人免费毛片嘿嘿连载视频| 中文字幕一区二区三区在线不卡| 风流少妇一区二区| 亚洲同性gay激情无套| 色激情天天射综合网| 亚洲综合一二三区| 欧美高清精品3d| 韩国欧美国产1区| 中文字幕制服丝袜成人av | 久久综合九色综合久久久精品综合 | 亚洲黄色小视频| 欧美日韩大陆一区二区| 另类成人小视频在线| 717成人午夜免费福利电影| 人禽交欧美网站| 精品欧美一区二区三区精品久久| 精品一区二区在线播放| 国产精品成人免费在线| 欧美日韩日日摸| 国产精品996| 亚洲一区二区三区自拍| 日韩欧美一级二级三级久久久| 成人h精品动漫一区二区三区| 亚洲一区二区在线免费观看视频 | 国产91丝袜在线播放九色| 中文字幕一区二区三中文字幕| 欧美日韩在线播放一区| 国产美女精品在线| 亚洲一区在线观看网站| 国产情人综合久久777777| 欧美吻胸吃奶大尺度电影| 国产精品中文字幕日韩精品| 亚洲一区视频在线观看视频| 精品久久久久99| 在线观看日韩国产| 国产夫妻精品视频| 偷窥国产亚洲免费视频| 欧美激情一区在线| 欧美一区二区精品| 日本道色综合久久| 成人久久视频在线观看| 九九**精品视频免费播放| 亚洲一二三区在线观看| 中文字幕一区二区三区不卡| 日韩女优毛片在线| 精品视频资源站| 国产精品白丝av| 日韩不卡一区二区| 亚洲成人av一区| 一区二区三区中文在线观看| 久久久激情视频| 亚洲精品一区二区三区蜜桃下载| 精品视频一区二区三区免费| 99视频精品免费视频| 国产乱妇无码大片在线观看| 日本aⅴ精品一区二区三区| 亚洲精品高清视频在线观看| 国产精品传媒入口麻豆| 欧美激情综合五月色丁香小说| 日韩女优av电影在线观看| 欧美一区永久视频免费观看| 在线观看成人小视频| 91麻豆国产香蕉久久精品| av在线播放不卡| 成人午夜电影久久影院| 国产剧情一区二区三区| 国产乱妇无码大片在线观看| 国内不卡的二区三区中文字幕| 免费观看在线综合色| 日韩高清欧美激情| 日韩经典中文字幕一区| 亚洲成a人片在线观看中文| 国产精品欧美一级免费| 精品日韩欧美在线| 国产亚洲欧洲997久久综合| 国产三级欧美三级日产三级99| 久久久天堂av| 国产偷v国产偷v亚洲高清 | 欧美视频你懂的| 欧美日韩国产片| 7777女厕盗摄久久久| 91精品国产综合久久精品| 欧美电影在哪看比较好| 欧美一区二区精品在线| 2021国产精品久久精品| 久久久久久久精| 国产精品久久毛片| 亚洲久草在线视频| 亚洲国产综合色| 毛片av一区二区| 国产精品一二二区| proumb性欧美在线观看| 色狠狠一区二区| 欧美一区二区不卡视频| 久久综合国产精品| 国产精品免费视频一区| 欧美极品美女视频| 亚洲欧洲一区二区三区| 亚洲va韩国va欧美va| 精品写真视频在线观看| 成人美女视频在线观看| 欧美体内she精高潮| 精品国产乱码久久| 亚洲精品视频免费观看| 人妖欧美一区二区| 波多野结衣精品在线| 欧美三级在线播放| 精品国产乱子伦一区| 亚洲黄色在线视频| 精品亚洲porn| 欧美这里有精品| 久久久午夜精品| 午夜久久福利影院| eeuss国产一区二区三区| 色综合天天做天天爱| 欧美一区二区视频免费观看| 中文一区在线播放| 日本中文字幕不卡| 91麻豆国产福利在线观看| 精品久久久久久久久久久久久久久久久 | 久久精品人人做人人综合| 国产欧美一区二区三区网站 | 午夜视频在线观看一区| 岛国精品一区二区| 欧美一区二区三区成人| 亚洲免费毛片网站| 国产一区二区福利| 欧美精品黑人性xxxx| 1区2区3区欧美| 国产精品自产自拍| 日韩视频免费直播| 亚洲一级电影视频| 91在线一区二区三区| 日韩欧美国产精品| 日韩高清不卡在线| 欧美日韩国产a| 尤物视频一区二区|