レジストリ・キーの作成と削除



//レジストリ・キーの作成
void CCreateRegKeyDlg::OnButton1() 
{
	HKEY RegKey;
	DWORD dwDisposition;

	//レジストリ・キーが存在する時は、開く
	//レジストリ・キーが存在しない時は、作成する。
	LONG Result = RegCreateKeyEx(HKEY_CURRENT_USER,
		"Software\\TEST",0 ,NULL, REG_OPTION_NON_VOLATILE,
		KEY_ALL_ACCESS, NULL , &RegKey, &dwDisposition);

	if(Result == ERROR_SUCCESS){
		//レジストリ・キーを作成したかどうか
		if(dwDisposition == REG_CREATED_NEW_KEY){
			AfxMessageBox("キーが存在していないので、作成して開きました。");
		}
		else{
			AfxMessageBox("キーが存在していたので、それを開きました。");
		}

		//レジストリを閉じる
		RegCloseKey(RegKey);
	}
}

//レジストリ・キーの削除
void CCreateRegKeyDlg::OnButton2() 
{
	//レジストリ・キー(HKEY_CURRENT_USER\\Software\\TEST)を削除
	LONG Result = RegDeleteKey(HKEY_CURRENT_USER, "Software\\TEST");
	
	if(Result == ERROR_SUCCESS){
		AfxMessageBox("キーを正常に削除しました。");
	}
	else{
		AfxMessageBox("キーを削除できませんでした。");
	}
}