中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > 综合其它
关于在VC++ 的MFC 下INI文件的生成和运用
作者:未知 时间:2005-07-27 23:30 出处:CSDN 责编:chinaitpower
              摘要:关于在VC++ 的MFC 下INI文件的生成和运用

 

我们在编写程序的过程中,有很多要用到出始化,但有很多都写进了注册表,而我们在想修改或者查看的时候必须到注册表里去修改,而不是直接到一个程序目录下的ini文件里查看或者修改,怎么使可以直接生成的ini文件能写进Debug 呢?而不写进注册表.下面的程序可以帮助我们实现这个目的!!!!

  在应用程序类下的      * App::InitInstance()函数里加入下面的程序语句;

 char czProgName[MAX_PATH];
 CString czN;
 int  iNiValue=0;

 iNiValue= GetModuleFileName(0,czProgName,MAX_PATH);
 if(iNiValue<= 0)
  return TRUE;
 czProgName[strlen(czProgName)-3] = '\0'; 
 strcat(czProgName,"ini");

// 这个GetModuleFileName() 的作用是得到当前目录下的**.exe文件,所以我们要把后缀去掉,直接用strcat()函数把它改长ini后缀.

//再清除Ini变量

   free((void*) m_pszProfileName);
   m_pszProfileName =_tcsdup(_T(czProgName));

 //清除注册表键值变量所分配的内存空间 .
 free((void*)m_pszRegistryKey);
 m_pszRegistryKey = NULL;

加入上面的语句以后,我们就可以在需要的地方直接用:

当然在使用的时候要定义:  

 CWinApp* theApp = NULL;

theApp = AfxGetApp();

然后直接用

theApp ->WriteProfileString( , ,)函数写入ini文件.

在需要读出的地方直接用  :

theApp ->GetProfileString (       ,     ,     )函数直接读出;

当然在读取整数的时候,我们可以分别用

WriteProfileInt (    ,     ,  )和 GetProfileInt (    ,     ,  )进行实现.

当你打开你的Debug 下的文件时,你可以看到一个*.ini文件了!!!!!!!!!!


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有