码迷,mamicode.com
首页 > 其他好文 > 详细

SetRegistryKey函数

时间:2017-10-08 10:24:27      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:mfc   注册表   

在MFC的CWinApp类的启动成员函数中,会有一个SetRegistryKey函数,在注册表中为程序设置一个主键。配合WriteProfileInt等函数,对程序的配置文件进行读写。

SetRegistryKey(_T(""));//有这句,读写将会针对INI文件进行  
//指定自己的INI文件名,否则编译器将以程序名称命名INI文件  
free((LPTSTR)theApp.m_pszProfileName);  
theApp.m_pszProfileName = (LPCTSTR)malloc(256);  
_tcscpy ((LPTSTR)theApp.m_pszProfileName ,_T("ScaleWeight"));

写入配置文件信息,如下:

void SecondDig::OnCancel()  
{  
    CRect rect;  
    GetWindowRect(&rect);  
    theApp.WriteProfileInt(_T("InitData"),_T("left"),rect.left);  
    theApp.WriteProfileInt(_T("InitData"),_T("top"),rect.top);  
    theApp.WriteProfileInt(_T("InitData"),_T("right"),rect.right);  
    theApp.WriteProfileInt(_T("InitData"),_T("bottom"),rect.bottom);  
    //AfxMessageBox(_T("cancel"));  
  
    //DestroyWindow();  
    CDialogEx::OnCancel();  
}

读取配置文件信息,如下:

BOOL SecondDig::OnInitDialog()  
{  
    CDialogEx::OnInitDialog();  
  
    CRect rect;  
  
    int left   = theApp.GetProfileInt(_T("InitData"),_T("left"),0);  
    int top    = theApp.GetProfileInt(_T("InitData"),_T("top"),0);  
    int right  = theApp.GetProfileInt(_T("InitData"),_T("right"),0);  
    int bottom = theApp.GetProfileInt(_T("InitData"),_T("bottom"),0);  
  
    rect.left   = left;  
    rect.top    = top;  
    rect.right  = right;  
    rect.bottom = bottom;  
  
    this->MoveWindow(&rect,true);  
  
    return TRUE;    
    // return TRUE unless you set the focus to a control  
    // 异常: OCX 属性页应返回 FALSE  
}


SetRegistryKey函数

标签:mfc   注册表   

原文地址:http://9233403.blog.51cto.com/9223403/1970601

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!