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相关推荐

  1. SetRegistryKey函数

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

  2. VC中读写ini文件

    我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下: 一.将信息写入.INI文件中. 1.所用的WINAP ...

  3. VC++ MFC中如何将应用程序的配置信息保存到注册表中(一)

    注册表(Registry,繁体中文版Windows称之为登录档)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息.比如我们打开一个记事本,调整其窗口大小,使用 ...

  4. 【MFC】CWinApp类详解

    00. 目录 文章目录 00. 目录 01. 概述 02. 数据成员 03. 成员方法 04. 命令处理 05. 附录 01. 概述 CWinApp是一个基类,你通过它来继承Windows应用程序对象 ...

  5. VC中操作INI文件的API

    VC中操作INI文件的API (1)操作系统配置文件Win.ini的函数: 函数名 功能 GetProfileSection 读取win.ini中指定节lpAppName中所有键名及其值.lpRetu ...

  6. SetRegistryKey的作用

    SetRegistryKey (2011-01-30 10:47:25) 转载▼ 标签: 杂谈 分类:c 特殊语言用法 SetRegistryKey Causes application settin ...

  7. 【MFC系列-第12天】Windows系统对话框

    12.1 INI配置文件 UINT GetProfileInt( LPCTSTR lpszSection, LPCTSTR lpszEntry, int nDefault ); 从应用程序的配置文件( ...

  8. CToolBarCtrl工具栏设置总结(转)

    (一)工具条控制的主要功能 所谓工具条就是具有位图和分隔符组成的一组命令按钮,位图按钮部分可以是下推按钮.检查盒按钮.无线按 钮等.工具条对象类派生于主窗口架框类CframeWnd或CMDIFrame ...

  9. MFC注册表CRegKey

    注册表是由windows维护的一个小数据库.里面也会保存windows本身的很多配置信息. 有时程序中要存些设置信息,一个方法就是创建一些普通的txt或xml文件,然后保存进去就行了.另一办法就是保存 ...

最新文章

  1. 出色性能服务器,浪潮服务器:演绎出色传输与存储性能
  2. 41. First Missing Positive
  3. WAS6集群部署及初步测试
  4. Docker(一)Centos7.0安装Docker
  5. JEPaaS笔记||学习培训资料||案例视频 【全套】
  6. springboot主要注解及其作用
  7. Django从理论到实战(part16)--指定默认的参数
  8. Pycharm 项目无法导入自己写的模块(问题记录贴)
  9. GDC2016 【巫师3 狂猎】的游戏事件工作流
  10. transient、Externalizable
  11. 大气压力换算公式_大气压换算公式(大气压与温度换算公式)
  12. EXCEL 利用随机数公式生成随机字母、随机密码
  13. 关于局域网计算机ip地址设置,怎么设置局域网计算机的IP地址
  14. Python笔记之Django网页模板的继承block(挖坑填坑、HTML转义)
  15. 用一个例子说明什么是多态
  16. VGA与DVI接口以及HDMI
  17. 钉钉一行代码_利用Python快速搭建钉钉和邮件数据推送系统
  18. Android Launcher分析和修改5——HotSeat分析
  19. 如何为你的APP瘦身
  20. linaro根文件系统仓库

热门文章

  1. 818品牌logo背后的故事
  2. 学习日记——ESP8266读写外部Flash(2020.5.26)
  3. 线上服务器CPU占用率高如何排查定位问题?
  4. 人脸验证与识别——从模型训练到项目部署
  5. Typora自定义主题#简约风主题
  6. 多协程和队列,爬取时光网电视剧TOP100的数据(剧名、导演、主演和简介)
  7. matlab简易实现图像压缩
  8. 使用wireshark对grpc的helloworld抓包分析
  9. 为什么近视人群需要戴变色镜片?
  10. L4自动驾驶公司降维做L2前装量产,前景如何?