RegeditOP.cpp
上传用户:hyb6888
上传日期:2016-01-24
资源大小:5186k
文件大小:2k
源码类别:

输入法编程

开发平台:

Visual C++

  1. #include "stdafx.h"
  2. #include "windows.h"
  3. #include "RegeditOP.h"
  4. RegeditOP::RegeditOP()
  5. {
  6. ;
  7. }
  8. RegeditOP::~RegeditOP()
  9. {
  10. ;
  11. }
  12. //////////////////////////////////////////////////////////////////////////////
  13. //读取注册表中的一个变量
  14. DWORD RegeditOP::ReadReg(char *pathname, char *valname)
  15. {
  16. HKEY hKey;
  17. DWORD myupdate=0, myupdate1=0;
  18. unsigned long lon;
  19. if ( RegCreateKey(HKEY_CURRENT_USER,pathname, &hKey) == ERROR_SUCCESS )
  20. {
  21. //如果没有键值
  22. if( RegQueryValueEx( hKey,valname,NULL,NULL,(LPBYTE)&myupdate1,&lon) != ERROR_SUCCESS )
  23.   MessageBox(0,valname,"没有键值",0);
  24. RegCloseKey(hKey);
  25. }
  26. return myupdate1;
  27. }
  28. /////////////////////////////////////////////////////////////////////////
  29. // read string  
  30. int RegeditOP::RegReadString(char *pathname,char *valname, char *keyVal)
  31. {
  32. HKEY hKey;
  33. unsigned long lon;
  34. char dd[10]="";
  35. keyVal[0]=0;
  36. if ( RegCreateKey(HKEY_CURRENT_USER,pathname, &hKey) == ERROR_SUCCESS )
  37. {
  38. //如果没有键值
  39. if( RegQueryValueEx( hKey,valname,NULL,NULL,(LPBYTE)keyVal,&lon) != ERROR_SUCCESS )
  40.   MessageBox(0,valname,"没有键值",0);
  41. RegCloseKey(hKey);
  42. }
  43. return 0;
  44. }
  45. int RegeditOP::RegSaveString(char *pathname,char *valname, char *keyVal)
  46. {
  47. HKEY hKey;
  48. if ( RegCreateKey(HKEY_CURRENT_USER,pathname, &hKey) == ERROR_SUCCESS )
  49. {
  50.  //   MessageBox(0,valname,keyVal,0);
  51.   RegSetValueEx(hKey, valname,0,REG_SZ,(LPBYTE)keyVal,strlen(keyVal)+1);
  52. RegCloseKey(hKey);
  53. }
  54. return 0;
  55. }
  56. int RegeditOP::RegSaveString(HKEY mainhkey ,char *pathname,char *valname, char *keyVal)
  57. {
  58. HKEY hKey;
  59. if ( RegCreateKey(mainhkey,pathname, &hKey) == ERROR_SUCCESS )
  60. {
  61.  //   MessageBox(0,valname,keyVal,0);
  62.   RegSetValueEx(hKey, valname,0,REG_SZ,(LPBYTE)keyVal,strlen(keyVal)+1);
  63. RegCloseKey(hKey);
  64. }
  65. return 0;
  66. }
  67. int RegeditOP::WriteReg(char *pathname,char *valname,DWORD keyVal)
  68. {
  69. HKEY hKey;
  70. if ( RegCreateKey(HKEY_CURRENT_USER,pathname, &hKey) == ERROR_SUCCESS )
  71. {
  72.  //   MessageBox(0,valname,keyVal,0);
  73.   RegSetValueEx(hKey, valname,0,REG_DWORD,(LPBYTE)&keyVal,sizeof(DWORD));
  74. RegCloseKey(hKey);
  75. }
  76. return 0;
  77. }