WriteProfileInt
CWinApp类中提供了一组用于读写应用程序配置的方法:
GetProfileInt
WriteProfileInt
GetProfileString
WriteProfileString
可方便的用于读写应用程序配置。
1.关于CWinApp::SetRegistryKey方法
用VC++的向导建立MFC项目之后,在InitInstance中可以看到这样的语句:
SetRegistryKey(_T("应用程序向导生成的本地应用程序"));
该函数将为以上提到的几个方法建立工作环境,此时如果用WriteProfileInt写入数据,将会
被写入到如下注册表位置:
HKEY_CURRENT_USER\Software\应用程序向导生成的本地应用程序\应用程序名称\
如果在InitInstance中不执行SetRegistryKey,则用WriteProfileInt写入数据时,将写入到
%windir%\应用程序名称.ini中。
2.用法
a.如果在InitInstance中执行了SetRegistryKey("应用程序向导生成的本地应用程序");
则对于:
WriteProfileInt("section","val1",10);
将在注册表中如下路径写入数据:
[HKEY_CURRENT_USER\Software\应用程序向导生成的本地应用程序\应用程序名称\section]
"val1"=dword:0000000a
b.如果在InitInstance中没执行SetRegistryKey
则对于:
WriteProfileInt("section","val1",10);
将在“%windir%\测试应用程序.ini”中写入:
[section]
val1=10
void CMainFrame::ActivateFrame(int nCmdShow)
{if (m_bFirst){m_bFirst = FALSE;WINDOWPLACEMENT* pWndpl = new WINDOWPLACEMENT;pWndpl->length = sizeof(WINDOWPLACEMENT);CWinApp* pApp = AfxGetApp();//恢复窗口位置pWndpl->flags = pApp->GetProfileInt(_T("WINDOWPLACEMENT"), _T("FLAGS"), 0);pWndpl->showCmd = pApp->GetProfileInt(_T("WINDOWPLACEMENT"), _T("SHOWCMD"), 0);nCmdShow = pWndpl->showCmd;pWndpl->ptMinPosition.x = pApp->GetProfileInt(_T("WINDOWPLACEMENT"), _T("MINX"), 0); pWndpl->ptMinPosition.y = pApp->GetProfileInt(_T("WINDOWPLACEMENT"), _T("MINY"), 0); pWndpl->ptMaxPosition.x = pApp->GetProfileInt(_T("WINDOWPLACEMENT"), _T("MAXX"), 0);pWndpl->ptMaxPosition.y = pApp->GetProfileInt(_T("WINDOWPLACEMENT"),_T("MAXY"), 0);pWndpl->rcNormalPosition.top = pApp->GetProfileInt(_T("WINDOWPLACEMENT"), _T("TOP"), 0);pWndpl->rcNormalPosition.left = pApp->GetProfileInt(_T("WINDOWPLACEMENT"), _T("LEFT"), 0);pWndpl->rcNormalPosition.right = pApp->GetProfileInt(_T("WINDOWPLACEMENT"), _T("RIGHT"), 0);pWndpl->rcNormalPosition.bottom = pApp->GetProfileInt(_T("WINDOWPLACEMENT"), _T("BOTTOM"), 0);//设置窗口位置SetWindowPlacement(pWndpl);delete pWndpl;}CFrameWnd::ActivateFrame(nCmdShow);
}void CMainFrame::OnClose()
{WINDOWPLACEMENT* pWndpl = new WINDOWPLACEMENT;pWndpl->length = sizeof(WINDOWPLACEMENT);//获得窗口位置GetWindowPlacement(pWndpl);CWinApp* pApp = AfxGetApp();//保存窗口位置pApp->WriteProfileInt(_T("WINDOWPLACEMENT"), _T("FLAGS"), pWndpl->flags);pApp->WriteProfileInt(_T("WINDOWPLACEMENT"), _T("SHOWCMD"), pWndpl->showCmd);pApp->WriteProfileInt(_T("WINDOWPLACEMENT"), _T("MINX"), pWndpl->ptMinPosition.x);pApp->WriteProfileInt(_T("WINDOWPLACEMENT"), _T("MINY"), pWndpl->ptMinPosition.y);pApp->WriteProfileInt(_T("WINDOWPLACEMENT"), _T("MAXX"), pWndpl->ptMaxPosition.x);pApp->WriteProfileInt(_T("WINDOWPLACEMENT"), _T("MAXY"), pWndpl->ptMaxPosition.y);pApp->WriteProfileInt(_T("WINDOWPLACEMENT"), _T("TOP"), pWndpl->rcNormalPosition.left);pApp->WriteProfileInt(_T("WINDOWPLACEMENT"), _T("LEFT"), pWndpl->rcNormalPosition.top);pApp->WriteProfileInt(_T("WINDOWPLACEMENT"), _T("RIGHT"), pWndpl->rcNormalPosition.right);pApp->WriteProfileInt(_T("WINDOWPLACEMENT"), _T("BOTTOM"), pWndpl->rcNormalPosition.bottom);delete pWndpl;CFrameWnd::OnClose();
}
WriteProfileInt相关推荐
- SetRegistryKey函数
在MFC的CWinApp类的启动成员函数中,会有一个SetRegistryKey函数,在注册表中为程序设置一个主键.配合WriteProfileInt等函数,对程序的配置文件进行读写. 1 2 3 4 ...
- VC中读写ini文件
我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下: 一.将信息写入.INI文件中. 1.所用的WINAP ...
- VC++ MFC中如何将应用程序的配置信息保存到注册表中(一)
注册表(Registry,繁体中文版Windows称之为登录档)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息.比如我们打开一个记事本,调整其窗口大小,使用 ...
- 【MFC】CWinApp类详解
00. 目录 文章目录 00. 目录 01. 概述 02. 数据成员 03. 成员方法 04. 命令处理 05. 附录 01. 概述 CWinApp是一个基类,你通过它来继承Windows应用程序对象 ...
- VC中操作INI文件的API
VC中操作INI文件的API (1)操作系统配置文件Win.ini的函数: 函数名 功能 GetProfileSection 读取win.ini中指定节lpAppName中所有键名及其值.lpRetu ...
- SetRegistryKey的作用
SetRegistryKey (2011-01-30 10:47:25) 转载▼ 标签: 杂谈 分类:c 特殊语言用法 SetRegistryKey Causes application settin ...
- 【MFC系列-第12天】Windows系统对话框
12.1 INI配置文件 UINT GetProfileInt( LPCTSTR lpszSection, LPCTSTR lpszEntry, int nDefault ); 从应用程序的配置文件( ...
- CToolBarCtrl工具栏设置总结(转)
(一)工具条控制的主要功能 所谓工具条就是具有位图和分隔符组成的一组命令按钮,位图按钮部分可以是下推按钮.检查盒按钮.无线按 钮等.工具条对象类派生于主窗口架框类CframeWnd或CMDIFrame ...
- MFC注册表CRegKey
注册表是由windows维护的一个小数据库.里面也会保存windows本身的很多配置信息. 有时程序中要存些设置信息,一个方法就是创建一些普通的txt或xml文件,然后保存进去就行了.另一办法就是保存 ...
最新文章
- 出色性能服务器,浪潮服务器:演绎出色传输与存储性能
- 41. First Missing Positive
- WAS6集群部署及初步测试
- Docker(一)Centos7.0安装Docker
- JEPaaS笔记||学习培训资料||案例视频 【全套】
- springboot主要注解及其作用
- Django从理论到实战(part16)--指定默认的参数
- Pycharm 项目无法导入自己写的模块(问题记录贴)
- GDC2016 【巫师3 狂猎】的游戏事件工作流
- transient、Externalizable
- 大气压力换算公式_大气压换算公式(大气压与温度换算公式)
- EXCEL 利用随机数公式生成随机字母、随机密码
- 关于局域网计算机ip地址设置,怎么设置局域网计算机的IP地址
- Python笔记之Django网页模板的继承block(挖坑填坑、HTML转义)
- 用一个例子说明什么是多态
- VGA与DVI接口以及HDMI
- 钉钉一行代码_利用Python快速搭建钉钉和邮件数据推送系统
- Android Launcher分析和修改5——HotSeat分析
- 如何为你的APP瘦身
- linaro根文件系统仓库