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. int RegeditOP::WriteReg(char *pathname,char *valname,DWORD keyVal)
  29. {
  30. HKEY hKey;
  31. int ret =0;
  32. if ( RegCreateKey(HKEY_CURRENT_USER,pathname, &hKey) == ERROR_SUCCESS )
  33. {
  34.  //   MessageBox(0,valname,keyVal,0);
  35.   RegSetValueEx(hKey, valname,0,REG_DWORD,(LPBYTE)&keyVal,sizeof(DWORD));
  36. RegCloseKey(hKey);
  37. }
  38. else 
  39. ret =1;
  40. return 0;
  41. }
  42. int RegeditOP::WriteReg(HKEY mainhkey,char *pathname,char *valname,DWORD keyVal)
  43. {
  44. HKEY hKey;
  45. int ret =0;
  46. if ( RegCreateKey(mainhkey,pathname, &hKey) == ERROR_SUCCESS )
  47. {
  48.  //   MessageBox(0,valname,keyVal,0);
  49.   RegSetValueEx(hKey, valname,0,REG_DWORD,(LPBYTE)&keyVal,sizeof(DWORD));
  50. RegCloseKey(hKey);
  51. }
  52. else
  53. ret =1;
  54. return 0;
  55. }
  56. /////////////////////////////////////////////////////////////////////////
  57. // read string  
  58. int RegeditOP::RegReadString(char *pathname,char *valname, char *keyVal)
  59. {
  60. HKEY hKey;
  61. unsigned long lon;
  62. char dd[10]="";
  63. keyVal[0]=0;
  64. if ( RegCreateKey(HKEY_CURRENT_USER,pathname, &hKey) == ERROR_SUCCESS )
  65. {
  66. //如果没有键值
  67. if( RegQueryValueEx( hKey,valname,NULL,NULL,(LPBYTE)keyVal,&lon) != ERROR_SUCCESS )
  68.   MessageBox(0,valname,"没有键值",0);
  69. RegCloseKey(hKey);
  70. }
  71. return 0;
  72. }
  73. int RegeditOP::RegSaveString(char *pathname,char *valname, char *keyVal)
  74. {
  75. HKEY hKey;
  76. if ( RegCreateKey(HKEY_CURRENT_USER,pathname, &hKey) == ERROR_SUCCESS )
  77. {
  78.  //   MessageBox(0,valname,keyVal,0);
  79.   RegSetValueEx(hKey, valname,0,REG_SZ,(LPBYTE)keyVal,strlen(keyVal)+1);
  80. RegCloseKey(hKey);
  81. }
  82. return 0;
  83. }
  84. int RegeditOP::RegSaveString(HKEY mainhkey ,char *pathname,char *valname, char *keyVal)
  85. {
  86. HKEY hKey;
  87. if ( RegCreateKey(mainhkey,pathname, &hKey) == ERROR_SUCCESS )
  88. {
  89.  //   MessageBox(0,valname,keyVal,0);
  90.   RegSetValueEx(hKey, valname,0,REG_SZ,(LPBYTE)keyVal,strlen(keyVal)+1);
  91. RegCloseKey(hKey);
  92. }
  93. return 0;
  94. }