DWORD InitializeKey( void )
{
HKEY hOpenKey;
DWORD dwDisposition;
LONG lResult = 0;
LPCTSTR strValueName;
LPCTSTR strData;
DWORD dwData = 0; // NULL
lResult = RegCreateKeyEx( HKEY_CURRENT_USER, SETTINGKEYNAME,NULL,_T(""),REG_OPTION_NON_VOLATILE, KEY_READ|KEY_WRITE, NULL, &hOpenKey, &dwDisposition );
ASSERT( lResult == ERROR_SUCCESS );
if( dwDisposition == REG_CREATED_NEW_KEY ) // REG_OPENED_EXISTING_KEY
{
strValueName = _T( "g_strMusicPath" );
TCHAR strData[] = _T( "D:\\Music\\TPBTLOW.WAV" );
lResult = RegSetValueEx( hOpenKey, strValueName, NULL, REG_SZ, ( BYTE* )strData, (_tcslen(strData) + 1) * sizeof(TCHAR));
ASSERT( lResult == ERROR_SUCCESS );
//Index
//----------------GDT-----------------
TCHAR chTemp[260];
strValueName = _T( "g_strGDTLocation" );
swprintf( chTemp, _T( "%s\\%s" ), g_psz_appdir, _T("GDT") );
strData = chTemp;
lResult = RegSetValueEx( hOpenKey, strValueName, NULL, REG_SZ, (BYTE*) strData, (DWORD)((_tcslen(strData)+1)*sizeof(TCHAR)) );
ASSERT( lResult == ERROR_SUCCESS );
strValueName = _T( "g_strShtMED" );
strData = _T("");
lResult = RegSetValueEx( hOpenKey, strValueName, NULL, REG_SZ, (BYTE*) strData, (DWORD)((_tcslen(strData)+1)*sizeof(TCHAR)) );
ASSERT( lResult == ERROR_SUCCESS );
strValueName = _T( "g_strIDMED" );
strData = _T("");
lResult = RegSetValueEx( hOpenKey, strValueName, NULL, REG_SZ, (BYTE*) strData, (DWORD)((_tcslen(strData)+1)*sizeof(TCHAR)) );
ASSERT( lResult == ERROR_SUCCESS );
//----------------GDT-----------------//
//int
strValueName = _T( "ZengYiIn" );
dwData = 1;
lResult = RegSetValueEx( hOpenKey, strValueName, NULL, REG_DWORD, ( BYTE* )&dwData, sizeof( dwData ) );
ASSERT( lResult == ERROR_SUCCESS );
strValueName = _T( "g_iSavelenth" );
dwData = 10;
lResult = RegSetValueEx( hOpenKey, strValueName, NULL, REG_DWORD, ( BYTE* )&dwData, sizeof( dwData ) );
ASSERT( lResult == ERROR_SUCCESS );
//Bool
strValueName = _T( "g_bNotch" );
dwData = 0;
lResult = RegSetValueEx( hOpenKey, strValueName, NULL, REG_DWORD, ( BYTE* )&dwData, sizeof( dwData ) );
ASSERT( lResult == ERROR_SUCCESS );
strValueName = _T( "g_bLowpass" );
dwData = 0;
lResult = RegSetValueEx( hOpenKey, strValueName, NULL, REG_DWORD, ( BYTE* )&dwData, sizeof( dwData ) );
ASSERT( lResult == ERROR_SUCCESS );
}
RegCloseKey( hOpenKey );
return 0;
}
DWORD KeyWrite( void )
{
HKEY hOpenKey;
DWORD dwDisposition;
LONG lResult = 0;
LPCTSTR strValueName;
lResult = RegCreateKeyEx( HKEY_CURRENT_USER, SETTINGKEYNAME, NULL, _T( "" ), NULL, KEY_WRITE, NULL, &hOpenKey, &dwDisposition );
ASSERT( lResult == ERROR_SUCCESS );
DWORD dwData = 0;
strValueName = _T( "g_strMusicPath" );
TCHAR strData[260];
swprintf(strData,_T("%s"), g_strMusicPath);
lResult = RegSetValueEx( hOpenKey, strValueName, NULL, REG_SZ, ( BYTE* )strData, (_tcslen(strData) + 1) * sizeof(TCHAR) );
ASSERT( lResult == ERROR_SUCCESS );
//----------------GDT-----------------
LPCTSTR strData;
strValueName = _T( "g_strGDTLocation" );
strData = g_strGDTLocation;
lResult = RegSetValueEx( hOpenKey, strValueName, NULL, REG_SZ, (BYTE*) strData, (DWORD)((_tcslen(strData)+1)*sizeof(TCHAR)) );
ASSERT( lResult == ERROR_SUCCESS );
strValueName = _T( "g_strShtMED" );
strData = g_strShtMED;
lResult = RegSetValueEx( hOpenKey, strValueName, NULL, REG_SZ, (BYTE*) strData, (DWORD)((_tcslen(strData)+1)*sizeof(TCHAR)) );
ASSERT( lResult == ERROR_SUCCESS );
strValueName = _T( "g_strIDMED" );
strData = g_strIDMED;
lResult = RegSetValueEx( hOpenKey, strValueName, NULL, REG_SZ, (BYTE*) strData, (DWORD)((_tcslen(strData)+1)*sizeof(TCHAR)) );
ASSERT( lResult == ERROR_SUCCESS );
//----------------GDT-----------------//
//Index
strValueName = _T( "ZengYiIn" );
dwData = ZengYiIn;
lResult = RegSetValueEx( hOpenKey, strValueName, NULL, REG_DWORD, ( BYTE* )&dwData, sizeof( dwData ) );
ASSERT( lResult == ERROR_SUCCESS );
strValueName = _T( "SpeedIn" );
dwData = SpeedIn;
lResult = RegSetValueEx( hOpenKey, strValueName, NULL, REG_DWORD, ( BYTE* )&dwData, sizeof( dwData ) );
ASSERT( lResult == ERROR_SUCCESS );
//Bool
/*strValueName = _T( "g_bHighpass" );
dwData = g_bHighpass;
lResult = RegSetValueEx( hOpenKey, strValueName, NULL, REG_DWORD, ( BYTE* )&dwData, sizeof( dwData ) );
ASSERT( lResult == ERROR_SUCCESS );*/
strValueName = _T( "g_bLowpass" );
dwData = g_bLowpass;
lResult = RegSetValueEx( hOpenKey, strValueName, NULL, REG_DWORD, ( BYTE* )&dwData, sizeof( dwData ) );
ASSERT( lResult == ERROR_SUCCESS );
//
strValueName = _T( "g_iSavelenth" );
dwData = g_iSavelenth;
lResult = RegSetValueEx( hOpenKey, strValueName, NULL, REG_DWORD, ( BYTE* )&dwData, sizeof( dwData ) );
ASSERT( lResult == ERROR_SUCCESS );
RegCloseKey( hOpenKey );
return 0;
}
DWORD KeyRead( void )
{
HKEY hOpenKey;
DWORD dwDisposition;
LONG lResult = 0;
DWORD dwValueType = 0;
DWORD dwDataLength = 0;
LPCTSTR strValueName1;
lResult = RegCreateKeyEx( HKEY_CURRENT_USER, SETTINGKEYNAME, NULL, _T(""), NULL, KEY_READ, NULL, &hOpenKey, &dwDisposition );
ASSERT( lResult == ERROR_SUCCESS );
DWORD dwData1 = 0;
dwDataLength = sizeof( dwData1 );
//Index
strValueName1 = _T( "ZengYiIn" );
lResult = RegQueryValueEx( hOpenKey, strValueName1, NULL, &dwValueType, ( BYTE* )&dwData1, &dwDataLength );
ASSERT( lResult == ERROR_SUCCESS );
ZengYiIn = dwData1;
strValueName1 = _T( "LongWaveIn" );
lResult = RegQueryValueEx( hOpenKey, strValueName1, NULL, &dwValueType, ( BYTE* )&dwData1, &dwDataLength );
ASSERT( lResult == ERROR_SUCCESS );
LongWaveIn = dwData1;
//Bool
strValueName1 = _T( "g_bLowpass" );
lResult = RegQueryValueEx( hOpenKey, strValueName1, NULL, &dwValueType, ( BYTE* )&dwData1, &dwDataLength );
ASSERT( lResult == ERROR_SUCCESS );
g_bLowpass = dwData1;
strValueName1 = _T( "g_bAutostop" );
lResult = RegQueryValueEx( hOpenKey, strValueName1, NULL, &dwValueType, ( BYTE* )&dwData1, &dwDataLength );
ASSERT( lResult == ERROR_SUCCESS );
g_bAutostop = dwData1;
strValueName1 = _T( "g_bAuto" );
lResult = RegQueryValueEx( hOpenKey, strValueName1, NULL, &dwValueType, ( BYTE* )&dwData1, &dwDataLength );
ASSERT( lResult == ERROR_SUCCESS );
g_bAuto = dwData1;
//
strValueName1 = _T( "g_iSavelenth" );
lResult = RegQueryValueEx( hOpenKey, strValueName1, NULL, &dwValueType, ( BYTE* )&dwData1, &dwDataLength );
ASSERT( lResult == ERROR_SUCCESS );
g_iSavelenth = dwData1;
//----------------------GDT----------------
///
TCHAR strData[MAX_PATH] = {0};
dwDataLength = MAX_PATH * sizeof(TCHAR);
strValueName1 = _T( "g_strMusicPath" );
lResult = RegQueryValueEx( hOpenKey, strValueName1, NULL, &dwValueType,( BYTE* )strData, &dwDataLength );
ASSERT( lResult == ERROR_SUCCESS );
g_strMusicPath = strData;
wstring strData;
int nCh;
///g_strGDTLocation
strValueName1 = _T("g_strGDTLocation");
lResult = RegQueryValueEx( hOpenKey, strValueName1, NULL, &dwValueType, NULL, &dwDataLength );
strData.resize(dwDataLength);
ASSERT( lResult == ERROR_SUCCESS );
lResult = RegQueryValueEx(hOpenKey,strValueName1,NULL,&dwValueType,(LPBYTE)strData.data(),&dwDataLength);
nCh=(dwDataLength-2)/2;
g_strGDTLocation=_T("");
for (int i=0;i<nCh;i++)
{
g_strGDTLocation +=strData.at(i);
}
///g_strShtMED
strValueName1 = _T("g_strShtMED");
lResult = RegQueryValueEx( hOpenKey, strValueName1, NULL, &dwValueType, NULL, &dwDataLength );
strData.resize(dwDataLength);
ASSERT( lResult == ERROR_SUCCESS );
lResult = RegQueryValueEx(hOpenKey,strValueName1,NULL,&dwValueType,(LPBYTE)strData.data(),&dwDataLength);
nCh=(dwDataLength-2)/2;
g_strShtMED=_T("");
for (int i=0;i<nCh;i++)
{
g_strShtMED +=strData.at(i);
}
///g_strIDMED
strValueName1 = _T("g_strIDMED");
lResult = RegQueryValueEx( hOpenKey, strValueName1, NULL, &dwValueType, NULL, &dwDataLength );
strData.resize(dwDataLength);
ASSERT( lResult == ERROR_SUCCESS );
lResult = RegQueryValueEx(hOpenKey,strValueName1,NULL,&dwValueType,(LPBYTE)strData.data(),&dwDataLength);
nCh=(dwDataLength-2)/2;
g_strIDMED=_T("");
for (int i=0;i<nCh;i++)
{
g_strIDMED +=strData.at(i);
}
//----------------------GDT--------------//
RegCloseKey( hOpenKey );
return 0;
}