注册表编程

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;
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值