实现缓存对话框类,设置注册表
来源:互联网 发布:全民突击刷钻石软件 编辑:程序博客网 时间:2024/06/03 22:23
#include "StdAfx.h"#include "CachedDLG.h"CachedDLG::CachedDLG(void) : _pValue(0){}CachedDLG::~CachedDLG(void){}LRESULT CachedDLG::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/){IE_ReadRegConfig(&_pValue);short num = _pValue - '0';//设置CHECK控件m_pc_check = (CButton)GetDlgItem(IDC_CHECK1);m_pc_check.SetCheck(num);ChangeMutileLang();return TRUE;}LRESULT CachedDLG::OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/){// 关闭对话框EndDialog(wID);return 0;}LRESULT CachedDLG::OnClose(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/){EndDialog(IDD_DLG_CACHED);return 0;}void CachedDLG::ChangeMutileLang(){WCHAR szText[100] = {0};// 加载STRING字符串到szTextLoadString(g_hInstance,ST_ID_CACHED, szText, 100);// 设置窗口标题::SetWindowTextW(m_hWnd, szText);LoadStringW(g_hInstance, ST_ID_PC, szText, 100);CButton m_pc_check = (CButton)GetDlgItem(IDC_CHECK1);m_pc_check.SetWindowTextW(szText);SetUIText(IDC_BON_OK, ST_ID_OK);SetUIText(IDC_BON_CANCEL, ST_ID_CANCEL);}//设备移除void CachedDLG::RemoveDlg(char* szDevPath){}void CachedDLG::SetUIText(WORD wID, int nResId){CButton button = (CButton)GetDlgItem(wID);WCHAR szText[100] = {0};LoadStringW(g_hInstance, nResId, szText, 100);button.SetWindowTextW(szText);}LRESULT CachedDLG::OnOKCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/){short CheckValue = m_pc_check.GetCheck();if (CheckValue == BST_CHECKED){_pValue = '1';IE_SetRegConfig(&_pValue);}else{_pValue = '0';IE_SetRegConfig(&_pValue);}EndDialog(wID);return TRUE;}/************************************************************************* Purpose : 设置值 Input :nVal值 Return : 0--成功 其他--返回错误码 Modify : Remark : *************************************************************************/ DWORD CachedDLG::IE_SetRegConfig(CHAR *nPin){LONGlRet= 0;HKEYhKey= NULL;charszTmpSite[1024] = {0};DWORDdwDisp= 0;sprintf(szTmpSite, "%s", CACHE_CONFIG_ROOT);charszFlag[32]= {0};chardwData[32]= {0};charszInfo[1024] = {0};DWORDdwInfo= 0;DWORDdwBufLen= 1024;strcpy(szFlag, CACHE_KEY);lRet = RegOpenKeyExA(HKEY_CURRENT_USER, szTmpSite, 0, KEY_ALL_ACCESS, &hKey);if (lRet != ERROR_SUCCESS){//不存在该键值就创建lRet = RegCreateKeyExA(HKEY_CURRENT_USER, szTmpSite, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey, &dwDisp);if (lRet != ERROR_SUCCESS){return lRet;}}strcpy(dwData, nPin);lRet = RegSetValueExA(hKey, szFlag, NULL, REG_BINARY, (LPBYTE)dwData, strlen(dwData)+1);if(lRet != 0){RegCloseKey(hKey);return lRet;}RegCloseKey(hKey);return 0;}/************************************************************************* Purpose : 读取值 Input : pnVal值 Return : None Modify : Remark : *************************************************************************/ void CachedDLG::IE_ReadRegConfig(CHAR *pnVal){LONGlRet= 0;HKEYhKey= NULL;charszTmpSite[1024] = {0};charszFlag[32]= {0};charszInfo[1024] = {0};DWORDdwBufLen= 1024;CHARdwData[32]= {0};sprintf(szTmpSite, "%s", CACHE_CONFIG_ROOT);strcpy(szFlag, CACHE_KEY);lRet = RegOpenKeyExA(HKEY_CURRENT_USER, szTmpSite, 0, KEY_ALL_ACCESS, &hKey);if (lRet != ERROR_SUCCESS){memcpy(pnVal, "0", 1);//给一个默认值return ;}lRet = RegQueryValueExA(hKey, szFlag, NULL, NULL, (LPBYTE)szInfo, &dwBufLen);if (lRet != 0){memcpy(pnVal, "0", 1);//给一个默认值return ;}memcpy(pnVal, szInfo, dwBufLen);return ;}
0 0
- 实现缓存对话框类,设置注册表
- 注册表设置
- Wince 中实现注册表恢复原厂设置的方法
- Wince 中如何实现注册表恢复原厂设置
- Wince 中如何实现注册表恢复原厂设置
- C#设置自定义文件图标实现双击启动(修改注册表)
- 枚举注册表DSN,实现用ADO动态选择数据源(MFC基于对话框 )
- 设置界面以及清理缓存的实现
- 设置对话框
- 设置对话框出现次序,不用按钮下设置,运行对话框1 ,对话框类2 。
- WM5注册表设置
- 注册表详细设置二
- 注册表详细设置之一
- 修改注册表(设置首页)
- WM 注册表 常用设置
- WM 注册表 常用设置
- wince注册表设置例子
- WM 注册表 常用设置
- android MediaPlayer播放音视频流程
- ExtJS弹窗文本域例子
- ImageView.Scaletype不起作用的原因
- c++优化资源管理
- Spring MVC框架errors标签的使用
- 实现缓存对话框类,设置注册表
- linux php安装redis扩展
- MD5算法C/C++的实现
- Android 自定义背景系列
- 【Echarts】Echarts2.0动态加载柱状图~
- UWP入门(九)-- 枚举和查询文件和文件夹
- volatile不能保证原子性,也就不能保证线程安全
- superset介绍跟环境搭建
- CCF习题 201703-4 地铁修建(dijkstra 或者 最小生成树)