搜档网
当前位置:搜档网 › [C#] 读写App.config配置文件的方法

[C#] 读写App.config配置文件的方法

[C#] 读写App.config配置文件的方法
[C#] 读写App.config配置文件的方法

[C#] 读写App.config配置文件的方法

作者:xieyc 发布:2013-07-14 17:29 字符数:3433 分类:编程阅读:27,725 次3条评论我们经常会希望在程序中写入一些配置信息,例如版本号,以及数据库的连接字符串等。你可能知道在WinForm应用程序中可以利用Properties.Settings来进行类似的工作,但这些其实都利用了App.config配置文件。

本文探讨用代码的方式访问App.config 的方法。关于App.config 的使用远比上面提到的用途复杂,因此仅讨论最基本的appSettings 配置节。

一、配置文件概述:

应用程序配置文件是标准的XML 文件,XML 标记和属性是区分大小写的。它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序。配置文件的根节点是configuration。我们经常访问的是appSettings,它是由.Net预定义的配置节。我们经常使用的配置文件的架构是客诉下面的形式。先大概有个印象,通过后面的实例会有一个比较清楚的认识。下面的“配置节”可以理解为进行配置一个XML的节点。

常见配置文件模式:

//配置节声明区域,包含配置节和命名空间声明

//配置节声明

//定义配置节组

//配置节组中的配置节声明

//预定义配置节

//配置节设置区域

下面是一个最常见的应用程序配置文件的例子,只有appSettings节:

1

2 3 4 5 6 7 8

在预定义的appSettings 节(注意大小写),有很多的元素,这些元素名称都是“add”,有两个属性分别是“key”和“value”。

.NET 提供了对appSettings节的访问方法。在 .NET 1.0 和1.1 版本中,可以使用System.Configuration.ConfigurationSettings.AppSettings["Key"] 来对key = "Key" 的元素的value属性进行访问。

注意:现在.Net FrameWork 2.0中已经明确表示此ConfigurationSettings属性已经废弃,建议改为ConfigurationManager 或 WebConfigurationManager。

使用System.Configuration.ConfigurationManager,需要在工程里添加对

system.configuration.dll 程序集的引用。(在解决方案管理器中右键点击工程名称,在右键菜单中选择添加引用,在.NET选项卡下即可找到。)

添加引用后,就可以用ConfigurationManager.AppSettings["Key"] 来读取对应的值了.

但是,ConfigurationManager.AppSettings 属性是只读的,并不支持修改属性值。这是因为据说微软不太建议我们动态写入app.config文件,而是建议手工配置后,在程序运行时只做静态访问。

如果实在需要在程序中进行修改,也即写入App.Config,请往下看。

二、appSettings配置节的读写操作

读取App.config文件的appSettings节的方法比较简单,可以通过上文

中 System.Configuration.ConfigurationManager.AppSettings["Key"]的方法进行访问,但前面也已经说了,该方法不提供写入。

如果希望写入配置文件,可以使用ConfigurationManager对象执行打开配置文件的操作后,将会返回一个Configuration的对象,利用该对象进行操作(增删改查都可以哦)。

下面给出实现的代码(增加引用using System.Configuration名称空间)

1 2 3 4 5 6 7 8 9

10

11

12

13

14

15

16

17 private void AccessAppSettings()

{

//获取Configuration对象

Configuration config =

System.Configuration.ConfigurationManager.OpenExeConfiguration(ConfigurationUser //根据Key读取元素的Value

string name = config.AppSettings.Settings["name"].Value;

//写入元素的Value

config.AppSettings.Settings["name"].Value = "xieyc";

//增加元素

config.AppSettings.Settings.Add("url", "https://www.sodocs.net/doc/f81553950.html,");

//删除元素

config.AppSettings.Settings.Remove("name");

//一定要记得保存,写不带参数的config.Save()也可以

config.Save(ConfigurationSaveMode.Modified);

//刷新,否则程序读取的还是之前的值(可能已装入内存)

System.Configuration.ConfigurationManager.RefreshSection("appSettings");

}

需要注意的是:

1、根据并不存在的Key值访问元素,甚至使用remove()方法删除不存在的元素,都不会导致异常,前者会返回null。

2、add已经存在的元素也不会导致异常,而是concat了已有的Value和新的Value,用","分隔,例如:"olldvalue,newvalue"。

3、在项目进行编译后,在运行目录bin\Debuge文件下,将出现两个配置文件,一个名为“ProjectName.EXE.config”,另一个名为“ProjectName.vshost.exe.config”。第一个文

件为项目实际使用的配置文件,在程序运行中所做的更改都将被保存于此;第二个文件其实为原代码中“App.config”的同步文件,在程序运行中不会发生更改。

4、特别注意大小写(XML文件是区分大小写的),例如appSettings配置节。

5、可能有读者会想到,既然app.config是标准XML,当然也可以用操纵一般XML文件的方法来读写。这当然是可以的!具体可以看文末参考文献[2]和[3]中的代码,只不过我认为这样就失去了VS提供app.config文件的意义了,还不如自己定义一个配置文件方便。

本文只是粗略地讲了app.config文件中appSettings配置节的访问方法,connectionStrings 配置节的操作基本是类似的,也可以自定义配置节。这些高级的用法可以自己体会,VS对app.config这个配置文件的管理还是很强大的,例如WinForm应用程序的Settings设置(可以在IDE中或者通过代码访问)其实也是利用了app.config文件。

参考资料:

[1] Read/Write App.Config File with .NET 2.0(这篇文章从.NET 1.0 过渡到2.0,因此额外讲了很多两个版本间的变化)

[2] C#读写app.config中的数据(作者不知从哪儿复制的一堆相关内容的大杂烩,也没好好整理,不过还蛮有用)

[3] 用C#写入app.config(用操控XML文件的方法写的,复杂的情况下岂不疯掉……)

[4] VS中C#读取app.config数据库配置字符串的三种方法

本文固定链

接: https://www.sodocs.net/doc/f81553950.html,/csharp-read-and-write-configuration-file-app-config/ | 小谢的小站

如何更改用户配置文件和程序设置的默认位置

如何更改用户配置文件和程序设置的默认位置 文章编号: 322014 最后修改: 2006年4月20日 移动用户的Documents and Settings 文件夹 概要 本文介绍了如何移动用户的Documents and Settings 文件夹。 所有用户的配置文件信息均存储在“%系统驱动器%\Documents and Settings”文件夹中。如果尝试在Windows 中移动或重命名用户的Documents and Settings 文件夹,您将收到以下错误消息:Documents and Settings 是Windows 系统文件夹,Windows 需要它才能正常运行,因此不能移动或重命名。 注意:本文包含有关Microsoft 不支持的配置的信息。Microsoft 提供此信息仅供参考;Microsoft 不能保证此配置可以正常运行。 警告:Microsoft 强烈建议不要重命名任何系统文件夹。如果重命名系统文件夹,可能会导致系统故障或计算机性能不稳定。使用本文中的信息之前,请备份您的计算机。 回到顶端 移动用户的Documents and Settings 文件夹 警告:注册表编辑器使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。 注意:此方法并不会重新定位重要的Windows 组件。此方法仅用于移动用户特定的数据。 1. 确定用户的配置文件路径。确定配置文件路径有两种方法。可以使用以下两种方法中的任一种(首选用户SID 方法):? 用户SID 方法:a. 使用Windows Server Resource Kit 中的Getsid 工具获取SID。使用与以下示例类似的语法: getsid \\server1username \\server1username b. 获取SID 之后,使用Regedit.exe 或Regedt32.exe 在以下注册表项之下选择用户的SID: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList ? 用户路径设置方法:a. 以用户身份登录到计算机,然后在命令提示符处键入set。记下USERPROFILE 的设置,然后关闭命令提示符窗口。 b. 以计算机管理员的身份登录。 c. 使用注册表编辑器将USERPROFILE 设置添加到以下注册表项中: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList d. 单击注册表项,然后单击“编辑”菜单上的“查找”。 e. 在“查找”框中,键入USERPROFILE 设置的值,然后单击“查找下一个”。 2. 更改ProfilesDirectory 值以使用您希望在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList 注册表项中使用的新路径。 3. 退出注册表编辑器,然后以用户身份登录。在命令提示符处键入set,以确认路径已更改。

INI文件读写

INI文件读写.txt男人的话就像老太太的牙齿,有多少是真的?!问:你喜欢我哪一点?答:我喜欢你离我远一点!执子之手,方知子丑,泪流满面,子不走我走。诸葛亮出山前,也没带过兵!凭啥我就要工作经验?INI文件读写文章指数:0 CSDN Blog推出文章指数概念,文章指数是对Blog文章综合评分后推算出的,综合评分项分别是该文章的点击量,回复次数,被网摘收录数量,文章长度和文章类型;满分100,每月更新一次。 ini文件(即Initialization file),这种类型的文件中通常存放的是一个程序的初始化信息。ini文件由若干个节(Section)组成,每个Section由若干键(Key)组成,每个Key可以赋相应的值。读写ini文件实际上就是读写某个的Section中相应的Key的值,而这只要借助几个函数即可完成。 一、向ini文件中写入信息的函数 1. 把信息写入系统的win.ini文件 BOOL WriteProfileString( LPCTSTR lpAppName, // 节的名字,是一个以0结束的字符串 LPCTSTR lpKeyName, // 键的名字,是一个以0结束的字符串。若为NULL,则删除整个节 LPCTSTR lpString // 键的值,是一个以0结束的字符串。若为NULL,则删除对应的键 ) 2. 把信息写入自己定义的.ini文件 BOOL WritePrivateProfileString( LPCTSTR lpAppName, // 同上 LPCTSTR lpKeyName, // 同上 LPCTSTR lpString, // 同上 LPCTSTR lpFileName // 要写入的文件的文件名。若该ini文件与程序在同一个目录下,也可使用相对 //路径,否则需要给出绝度路径。 ) 如: ::WriteProfileString("Test","id","xym"); //在win.ini中创建一个Test节,并在该节中创建一个键id,其值为xym ::WritePrivateProfileString("Test","id","xym","d:\\vc\\Ex1\\ex1.ini"); //在Ex1目录下的ex1.ini中创建一个Test节,并在该节中创建一个键id,其值为xym //若Ex1.ini文件与读写该文件的程序在同一个目录下,则上面语句也可写为: ::WritePrivateProfileString("Test","id","xym",".\\ex1.ini"); 需要注意的是,C系列的语言中,转义字符'\\'表示反斜线'\'。另外,当使用相对路径时,\\前的.号不能丢掉了。 二、从ini文件中读取数据的函数

proe工程图配置文件.dtl常用选项及使用详解

工程图配置文件.dtl常用选项及使用详解 工程图配置文件是出工程图所必需了解掌握的知识。我写过一篇关于系统配置文件config.pro的教程,里面提到过配置文件对于使用PROE非常重要。 config.pro的使用,请先看这个帖https://www.sodocs.net/doc/f81553950.html,/thread-9138-1-1.html 不可否认的是,论坛工程图版的求助帖超过一半与工程图配置文件设置有关。可见工程图配置文件的重要性。工程图配置文件*.dtl使用上比系统配置文件config.pro要简单一些。所以本帖先将一些常用选项列出,供大家参考。配置文件使用方面的内容放在后面讲解。 本帖为原创,严禁转载! 请勿综合成PDF或WORD等格式打包下载,谢谢合作! 本帖不设回复可见,方便大家都可以见到 本帖所讲述的内容目录如下: 一、工程图配置文件常用选项及说明 二、工程图配置文件使用详解 1、创建工程图配置文件*.dtl 2、工程图配置文件选项的查找 3、工程图配置文件的选项设置与修改 4、工程图配置文件的正确调用 一、工程图配置文件常用选项及说明 drawing_units mm(前面为选项,空格后为值,下同) 此项设置所有绘图参数的单位,比如后面的文字大小、箭头大小等选项,是以mm为单位的,先要设置这个选项。 drawing_text_height 3.5 设置缺省文本的缺省高度,如注释中的文字,标注中的数值大小。 text_width_factor 0.7 设置文本的高度和宽度的比例,按国标应使用长仿宋体,应为0.7。 但此项设置对于windows系统自带的仿宋体无效。 broken_view_offset 3 设置破断视图两破断线之间的距离 detail_circle_line_stylephantomfont 设置详细视图(局部放大图)的边界线的线型,影响打印的粗细 projection_typefirst_angle 设置视图的投影方向为第一角法(国标要求用第一角法,日本等国用第三角法)

8313配置文件及说明

writereg MBAR 0xFF400000 writemem.l 0xFF400000 0xE0000000 # IMMRBAR = 0xE0000000 writereg MBAR 0xE0000000 writemem.l 0xE0000020 0xFE000000# LBLAWBAR0 - begining at 0xfe000000 writemem.l 0xE0000024 0x80000014# LBLAWAR0 - enable, size = 2MB #writemem.l 0xE0000028 0xFA000000 # LBLAWBAR1 FPGAbegining at 0xfa000000 #writemem.l 0xE000002C 0x8000000E # LBLAWAR1 - enable, size = 32KB writemem.l 0xE00000A0 0x00000000 # DDRLAWBAR0 - begining at 0x00000000 writemem.l 0xE00000A4 0x80000018 # DDRLAWAR0 - enable, size = 32MB # DDR Controller Configuration #1 DDRCDR writemem.l 0xE0000128 0x73040002 #CLK_CNTL writemem.l 0xE0002130 0x02000000 #同原0x02000000。[5-7]CLK_ADJST = 010(1/2),or 011(3/4) # CS0_BNDS writemem.l 0xE0002000 0x00000001 # 0x00000001 - 0x01FFFFFF ;32MB # CS0_CONFIG # [8]AP_0_EN = 1,0? # [16-17]BA_BITS_CS_0 = 00,01? Number of bank bits for SDRAM on chip select n. # [21-23]ROW_BITS_CS_0 = b'001' ; 12 row bits # [29-31]COL_BITS_CS_0 = b'010' ; 9 columns bits #原0x80840102 不同:[29-31]、[21-23], writemem.l 0xE0002080 0x80000001 # TIMING_CFG_3 原0x00000000 # 13-15EXT_REFREC = 001; AUTO REFRESH command period tRFC=72 ns writemem.l 0xE0002100 0x00010000 # TIMING_CFG_1 原0x26256222 # bit 1-3 = 2 tRP=15ns,(tck=7.5) (类似tRP ,为DDR芯片手册上内容)# bit 4-7 = 6 tRAS=42ns, # bit 9-11 = 2 tRCD=15ns, # bit 12 - 15 = 0011:2;0100:2.5 # bit 16 - 19 = 2 (10tck) tRFC=72 ns (tck=7.5) # bit 21 - 23 = 2 tWR=15ns, # bit 25 - 27 = 2 tRRD=12ns, # bit 29 - 31 = 1 tWTR=1tck writemem.l 0xE0002108 0x26232221

C语言读写配置文件代码

MFC读写ini配置文件 1.新建头文件如:iniFunc.h,在编辑区域粘贴以下内容: ///////////////////////////////////////////////////////////////////////// // iniFunc.h: interface for the Cini class. #if !defined(AFX_OPINI_H__CE3F8B7B_1ACA_46CC_A91C_F8E23FA9B063__INCLUDED _) #define AFX_OPINI_H__CE3F8B7B_1ACA_46CC_A91C_F8E23FA9B063__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include class Cini { public: static DWORD ReadString (char *section, char * key, char stringtoread[], char * filename); static BOOL WriteString(LPCTSTR section, LPCTSTR key,char* stringtoadd, char *filename); Cini(); virtual ~Cini(); }; #endif // !defined(AFX_OPINI_H__CE3F8B7B_1ACA_46CC_A91C_F8E23FA9B063__INCLUDED_) 2.新建资源文件如:iniFunc.cpp,在编辑区域黏贴以下内容: ///////////////////////////////////////////////////////////////////////// // ini.cpp: implementation of the Cini class. #include "stdafx.h" #include "ini.h" ///////////////////////////////////////////////////////////////////////// //Cini类的构造函数和析构函数 Cini::Cini() { } Cini::~Cini()

读取配置文件和修改配置文件(ServiceIP.properties)(原创)

读取配置文件和修改配置文件(ServiceIP.properties)(原创) package espeed.util; import java.io.*; import java.util.Properties; /* * 配置短信服务器IP(配置文件建在SRC下,ServiceIP.properties) */ public class EditServiceIP { private static Properties properties=new Properties(); private static EditServiceIP esip; public EditServiceIP(){} public static EditServiceIP getInstance(){ if(esip==null) esip=new EditServiceIP(); return esip; } //取得短信服务器IP public String getSmsServiceIP(){ InputStream

is=EditServiceIP.class.getClassLoader().getResourceAsSt ream("ServiceIP.properties"); try { properties.load(is); } catch (IOException e) { // TODO Auto-generated catch block System.out.println("------------取得短信服务器IP地址发生IO异常"); } String provalue=properties.getProperty("SMS.ServiceIP"); return provalue; } //修改短信服务器IP public String modifySmsServieIP(String smsServiceIP){ File file=new File(EditServiceIP.class.getClassLoader().getResource("S erviceIP.properties").getPath()); try{ properties.load(new FileInputStream(file));

MySQL配置文件详解

./configure --prefix=/usr/local/mysql \ --without-debug \ #去除debug模式. --enable-thread-safe-client \ #以线程方式编译客户端. --with-pthread \ #强制使用pthread线程库编译. --enable-assembler \ #允许使用汇编模式. --enable-profiling \ #Build a version with query profiling code (https://www.sodocs.net/doc/f81553950.html,munity-features) --with-mysqld-ldflags=-all-static \ #静态编译mysqld的额外link参数. --with-client-ldflags=-all-static \ #静态编译client的额外link参数. --with-charset=utf8 \ #默认字符utf8. --with-extra-charsets=all \ #支持所有的语言字符. --with-innodb \ #innodb数据引擎. --with-plugins=innobase \ --with-plugins=heap \ #内存数据引擎. --with-mysqld-user=mysql \ #mysql安装使用的帐号 --without-embedded-server \ #去除安装embedded-server. --with-server-suffix=-community \ #社区形式安装. --with-unix-socket-path=/tmp/mysql.sock MYSQl启动的一般设置: /etc/https://www.sodocs.net/doc/f81553950.html,f基本部设参数设置. # back_log 是操作系统在监听队列中所能保持的连接数, # 队列保存了在MySQL连接管理器线程处理之前的连接. # 如果你有非常高的连接率并且出现"connection refused" 报错, # 你就应该增加此处的值. # 检查你的操作系统文档来获取这个变量的最大值. # 如果将back_log设定到比你操作系统限制更高的值,将会没有效果 # 在MYSQL的连接请求等待队列中允许存放的最大连接请求数. defautl=50,最大65535,根据os对网络监听队列的情况来设置. back_log = 20000 # MySQL 服务所允许的同时会话数的上限 # 其中一个连接将被SUPER权限保留作为管理员登录. # 即便已经达到了连接数的上限. # 整个Mysql允许的最大连接数.这个参数会影响mysql的应用并发处理能力.有些资料上提到 500-800,以我们的机子来说单个mysql实例设置10000应该是没有问题的。如果还需可能需要第三方软件解决php连接池的问题,提高还需要连接池. max_connections = 10000 # 每个客户端连接最大的错误允许数量,如果达到了此限制. # 这个客户端将会被MySQL服务阻止直到执行了"FLUSH HOSTS" 或者服务重启 # 非法的密码以及其他在链接时的错误会增加此值. # 查看 "Aborted_connects" 状态来获取全局计数器. max_connect_errors = 10

怎样修改proe的配置文件

怎样修改p r o e的配置 文件

怎样修改proe的配置文件 一、配置文件是什么东西?"C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files" 首先,要建立一个概念,PROE里的所有设置,都是通过配置文件来完成的。打个比方,在AUTO CAD里,新安装完软件后,我们就会把自己常用的一些工具条调出来,在窗口摆放好位置,设好十字光标大小,右键设置等等直到把整个AUTO CAD调成自己想要的样子,然后退出程序。再次运行AUTO CAD时,我们会发现之前设置都还有效。 用同样的方法,在PROE里就不灵了!听说在选项里可以设置中英文双语菜单……听说还可以设单位……听说还要设公差……听说还可以改颜色……。好的,费了大半天劲都一一改好了,这下放心了,关掉PROE。再一次打开PROE时,一看,傻眼了,之前明明设好的怎么又没了呢!你可能会觉得——这什么鬼烂软件,人家其他软件都是这样设,它就不行!告诉你,这就是PROE的配置文件在作怪!你没有保存这些配置文件,也没有放到适当的位置!这下你应该知道,这些配置文件是用来干嘛的了。那么配置文件(有些书也叫映射文件)又包括哪些呢?下面介绍常用的几个 config.pro——系统配置文件,配置整个PROE系统 gb.dtl——工程图配置文件,你可以先简单的理解为设置箭头大小,文字等标注样式。 format.dtl——工程图格式文件(可以简单的理解为图框)的配置文件。 table.pnt——打印配置文件,主要设置工程图打印时的线条粗细、颜色等。 A4.pcf——打印机类型配置文件,主要设置工程图打印出图时的比例、纸张大小等。 config.win.1——(1为流水号,每改一次自动增加)操作界面、窗口配置文件,比如说我们可以在这个文件中设置模型树窗口的大小,各种图标、工具栏、快捷键在窗口的位置等等。 Tree.cfg——模型树配置文件,主要设置在模型树窗口显示的内容、项目。

C#读写配置文件

Windows 应用程序: ///

///发布后就可以读取了 /// private readonly string strFileName = AppDomain.CurrentDomain.BaseDirectory + "Windows_RWConfig.exe.config"; //获得配置文件的全路径 /// ///修改配置文件 /// ///key ///value private void UpdateConfig(string key, string value) { XmlDocument xDoc = new XmlDocument(); xDoc.Load(strFileName); //找出名称为“add”的所有元素 XmlNodeList nodes = xDoc.GetElementsByTagName("add"); for (int i = 0; i < nodes.Count; i++) { //获得元素的key属性 XmlAttribute att = nodes[i].Attributes["key"]; //根据元素的第一个属性来判断元素是不是目标元素 if (att.Value == key) { //对目标元素中的第二个属性赋值 att = nodes[i].Attributes["value"]; att.Value = value; break; } } //保存上面的修改 xDoc.Save(strFileName); } /// ///读取配置文件 /// ///

配置文件使用说明

(1)报警切除功能 C:\windows\cas2000ops.ini中 [CutAlarm] Enable=0 说明:Enable置0时无报警切除功能,置1时有报警切除功能。默认为0 ( 2 ) 语音报警功能 C:\ windows\ Keyboard.ini中 [Keyboard] SelfSound=1 SoundFileName=ALARM.wav 说明: a)SelfSound项置0时,无语音报警功能,置1时有语音报警功能。默认为0 b)语音文件路径应放在操作员站的Start路径下,SoundFileName用户可以自 定义,默认为ALARM.wav。 (3)在线查询时长 C:\windows\cas2000ops.ini中 [TimeLength] show24hour=1; show60hour=1 说明:show24hour置1时,实时趋势时间段有24小时的时间段,置0时没有show60hour同上。 (4)PID调节幅值更改 操作员安装路径\config\ PID_ADJUST.ini [PID点名] SLOW=0 FAST=0 说明:此调节是按绝对值调节,不是按百分比调节; SLOW与FAST项需为非零值,且FAST值〉SLOW值 默认情况下没有文件PID_ADJUST.ini,需要用户自定义。 (5)点详细窗口风格 C:\windows\cas2000ops.ini中 [TagCurve] Mode=0 说明:Mode置0为浮动窗口风格,置1位对话框。默认为0。 (6)操作员站工程师台菜单项中综合趋势窗口和开关趋势窗口菜单C:\windows\cas2000ops.ini中 [ExtraTrendMenu] Mode=0 说明:Mode置0有综合趋势窗口和开关趋势窗口菜单,置1无。默认为

C#读写config配置文件

C#读写config配置文件 应用程序配置文件(App.config)是标准的XML 文件,XML 标记和属性是区分大小写的。它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序。 对于一个config文件: 对config配置文件的读写类: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Configuration; using System.ServiceModel; using System.ServiceModel.Configuration; namespace NetUtilityLib { public static class ConfigHelper { //依据连接串名字connectionName返回数据连接字符串 public static string GetConnectionStringsConfig(string connectionName) { //指定config文件读取 string file = System.Windows.Forms.Application.ExecutablePath; System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(file); string connectionString = config.ConnectionStrings.ConnectionStrings[connectionName].ConnectionString.ToString(); return connectionString; } ///

///更新连接字符串 /// ///连接字符串名称 ///连接字符串内容 ///数据提供程序名称 public static void UpdateConnectionStringsConfig(string newName, string newConString, string newProviderName) { //指定config文件读取 string file = System.Windows.Forms.Application.ExecutablePath; Configuration config = ConfigurationManager.OpenExeConfiguration(file); bool exist = false; //记录该连接串是否已经存在 //如果要更改的连接串已经存在 if (config.ConnectionStrings.ConnectionStrings[newName] != null) { exist = true; } // 如果连接串已存在,首先删除它 if (exist) { config.ConnectionStrings.ConnectionStrings.Remove(newName); } //新建一个连接字符串实例

win7_您已使用临时配置文件登陆以及恢复的解决办法

win7 您已使用临时配置文件登陆以及恢复的解决办法 登陆win7系统总是提示您已使用临时配置文件登陆 在网上搜了很多的相关帖子,几乎没有能说在点子上正确解决此问题的,最后在微软才搜到了解决方案。 win7 您已使用临时配置文件登陆的解决办法 https://www.sodocs.net/doc/f81553950.html,/kb/947215/zh-cn 若要解决此问题,请按照下列步骤操作: 1、单击开始,右键单击计算机,然后单击属性。 2、单击更改设置。 3、系统属性对话框中单击高级选项卡。 4、在用户配置文件,下单击设置。 5、用户配置文件对话框中选择若要删除,请单击删除,然后单击确定所需的配置文件。 ====================================================================== ============================ 用户配置文件的修复方法 但当不小心将该用户的信息删除,之后再重新建立。那么再一次用该登陆名登陆的时候,系统会自动建立一个新的文件夹,此时新创建的文件夹名字为以域用户名.域名(NetBios)的形式来命令。比如,在Windows Server 2008 R2的域环境下用Win7来作为域的客户端,当在AD里建立一个叫Jack的账户,第一次登陆Win7的时候系统自动在%SystemDrive%\Users 下创建一个叫jack的用户配置文件文件夹,但当将此用户在域控上删除之后重新创建一个小jack的用户名,再一次在客户端登陆时,则系统自动在%SystemDrive%\Users下建一个名为jack.JACK-TEST(这里的域名是JACK-TEST)的用户配置文件文件夹。如下图:

VC++操作INI配置文件的实现

VC++操作INI配置文件的实现 修改浏览权限| 删除 一.将信息写入.INI文件中. 1.所用的WINAPI函数原型为: BOOL WritePrivateProfileString( LPCTSTR lpAppName, LPCTSTR lpKeyName, LPCTSTR lpString, LPCTSTR lpFileName ); 其中各参数的意义: LPCTSTR lpAppName 是INI文件中的一个字段名. LPCTSTR lpKeyName 是lpAppName下的一个键名,通俗讲就是变量名. LPCTSTR lpString 是键值,也就是变量的值,不过必须为LPCTSTR型或CString型的. LPCTSTR lpFileName 是完整的INI文件名. 2.具体使用方法:设现有一名学生,需把他的姓名和年龄写入c:\stud\student.ini 文件中. CString strName,strTemp; int nAge; strName="张三"; nAge=12; WritePrivateProfileString("StudentInfo","Name",strName,"c:\\stud\\student.ini"); 此时c:\stud\student.ini文件中的内容如下: [StudentInfo] Name=张三 3.要将学生的年龄保存下来,只需将整型的值变为字符型即可:

strTemp.Format("%d",nAge); WritePrivateProfileString("StudentInfo","Age",strTemp,"c:\\stud\\student.ini"); 二.将信息从INI文件中读入程序中的变量. 1.所用的WINAPI函数原型为: DWORD GetPrivateProfileString( LPCTSTR lpAppName, LPCTSTR lpKeyName, LPCTSTR lpDefault, LPTSTR lpReturnedString, DWORD nSize, LPCTSTR lpFileName ); 其中各参数的意义: 前二个参数与WritePrivateProfileString中的意义一样. lpDefault : 如果INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量. lpReturnedString : 接收INI文件中的值的CString对象,即目的缓存器. nSize : 目的缓存器的大小. lpFileName : 是完整的INI文件名. 2.具体使用方法:现要将上一步中写入的学生的信息读入程序中. CString strStudName; int nStudAge; GetPrivateProfileString("StudentInfo","Name","默认姓名 ",strStudName.GetBuffer(MAX_PATH),MAX_PATH,"c:\\stud\\student.ini"); 执行后strStudName 的值为:"张三",若前两个参数有误,其值为:"默认姓名". 3.读入整型值要用另一个WINAPI函数:

ecology各配置文件开关说明

配置文件存放路径:ecology/WEB-INF/prop/ 1、weaver.properties(标准版基本配置) 以下几项配置为默认不打开的开关,或新版本增加的开关: ecology.changestatus = 1(任意不为空的值)--开启流程反馈功能。 ecology.overtime = 5(必须为数字,代表超时检测的时间,单位为分钟。如果不是数字,系统将默认1分钟检测一个超时)ecology.isgoveproj = 0(必须为数字,为0代表企业版,为1代表政务版)--【8831】 ecology.LicenseVersion = 2(必须为数字,2代表固定通过本地连接的网卡来获取license识别码,动态的虚拟网卡等不再获取,不添加此配置或值为1表示按照原方式获取识别码,包括虚拟网卡--【9911】) 2、Upgrade.properties(系统升级配置文件) STATUS = 0(数字,标示升级的状态 ERRORLOG = (升级错误日志所在地址) 3、Others.properties(非标准版功能配置文件) ##是否启用流程出口消息提醒【8940】 WORKFLOWWAYOUT = t(t为开启,f为关闭,默认为f) ##定时清除流程不良信息的周期,同时也做为消息提醒定时删除周期和保留天数。单位(天)【9080】 WFERRORDATACLEARTIME = 7(数字) ##系统是否使用多账号登陆【9325】 MOREACCOUNTLANDING = y(y为开启) ##即时通讯开关【9425】 MESSAGES_SET = 1(1为开启) ##是否启用签到签退功能true:是false或其它:否【9286】 isSignInOrSignOut=true(true为开启) ##繁体开关【11991】 ZH_TW_LANGUAGE = 1(1为开启) 4、workflowmonitor.properties(流程监控增加流程干预功能)WORKFLOWINTERVENORBYMONITOR = y(y为开启)【9423】 5、worktask.properties(计划任务【9427】) #1,使用计划任务模块;0,不使用;读不到该值,默认为0 isusedworktask = 1(1为开启) #计划任务模板转任务提前转化天数,读不到该值,默认为7天mudelchangewakefrequency = 7(数字) 6、dactylogram.properties(指纹登录【9557】) ONDACTYLOGRAM = Y(Y为启用,N为禁用)

配置文件(ini)的读写

用系统函数读写ini配置文件 一INI文件基础 文件扩展名为ini的文件常用于操作系统、软件等初始化或进行参数设置。ini是initial的缩写。这类文件可以用文本编辑器(如记事本)打开、编辑。 文件格式 节/段sections [section] 参数/键名parameters name=value 注解comments 注解使用分号表示(;)。在分号后面的文字,直到该行结尾都全部为注解。 ;comment text 示例 如QQ安装目录下有一个kernelInfo.ini文件,里面的内容。 [kernel] version=788 packetname=QQPetKernel.EXE ini用途 编写软件的时候需要将一些初始化的信息写入到一个配置文件中,软件启动的时候从这个配置文件中读取这些初始化的信息。软件中的一些过程数据也需要保存到ini文件中。 现在软件大都将这些配置信息写到XML中,因为XML的树形描述层次结构性清晰。这就涉及到XML 的解析,可以自己写解析方法,也可以用第三方库(如TinyXML、CMarkup等)来解析XML。 更多类容可以参考https://www.sodocs.net/doc/f81553950.html,/u/5135093875 二应用程序的ini读写 系统提供给了读写ini文件的函数,都是以GetPrivateProfile开头的,常用的有下面3个。作一个简要介绍。 GetPrivateProfileString DWORD GetPrivateProfileString( LPCTSTR lpAppName,//points to section name段名 LPCTSTR lpKeyName,//points to key name键名 LPCTSTR lpDefault,//points to default string默认的键值,这个参数不能为 NULL。如果在ini文件中没有找到lpKeyName,就将赋值lpDefault,给lpReturnedString LPTSTR lpReturnedString,//points to destination buffer指向缓冲区的指针,用于保存键值 DWORD nSize,//size of destination buffer缓冲区的大小 LPCTSTR lpFileName//points to initialization filename ini文件的路径 ); 功能:读取对应段和键的值。 返回值: 返回复制到缓冲区的字符个数,并不包括字符串结尾的NULL。 如果lpAppName和lpKeyName都不为空,并且键值的长度大于了缓冲区的长度,那么就将键值切断,并在末尾添加’\0’字符,返回nSize-1。

_MTK校准配置文件参数详细说明

4.1 INI 文件的介绍: 4.1.1[射频功能组的复位] 下面是setup INI文件中定义的项目。 GSM900 Sig = 1 GSM1800 Sig = 1 GSM1900 Sig = 1 GSM900 NSig = 1 GSM1800 NSig = 1 GSM1900 NSig = 1 通常设置为1,指在对CMU200设置之前对设备进行复位,为0时不复位。 4.1.2 系统设置: setup INI文件中定义的项目: External Reference Clock = 0 默认值为0,指使用CMU200输出的参考时钟,为1时使用外部参考时钟。 CMU Base GPIB Address = 20 CMU的GPIB地址的设置,要与软件对应。 Instrument = "CMU200" 使用的设备为CMU200 Power Supply Address = GPIB0::5::INSTR 电源地址的设置 使用Kei230x时,应为Power Supply Address = 5 CMU RF Port = 2 CMU200使用的射频端口设置 Test Mode = 0 设为0指需要手动对设备进行初始化,1指在综测时软件将自动对设备进行初始化,2指在校准时软件将自动对设备进行初始化,3指在校准和综测联合测试时软件将自动对设备进行初始化 FDM database file = "c:\\Program Files\\MTK_atedemo\\report\\BPLGUInfoCustom" Database文件的存放路径,必须与手机软件对应 Calibration file = "c:\\Program Files\\MTK_atedemo\\MTKCAL_6205B.INI" 校准初始默认值设置文件的路径 Config file = "c:\\Program Files\\MTK_atedemo\\meta_6205B.CFG" 关于校准的设置,如校准的信道,限制的最大、最小值 Report file path = "c:\\Program Files\\MTK_atedemo\\report_6218B" 测试报告的存储路径 Database file = "c:\\Program Files\\MTK_atedemo\\Report_Statistics\\6218B_statistics.xls" 测试结果文件的存放路径 IMSI = "001010123456789" SIM卡中的IMSI号的设置 POWER ON AFTER CHANGE = 1 联合测试时,如果设备改变不同状态时较慢,则设置为1 Stability Count = 1 循环测试的次数设置 Fixture COM port = 1 串口地址设置 System Cable Loss Calibration = 0 校准系统的线损选择 4.1.3呼叫建立设置 Setup Network = 1 建立呼叫时的网络设置,1指GSM频段,2指DCS频段,3指PCS频段 GSM Call Setup Channel = 1 建立呼叫的信道号设置