原文:C# 桌面软件开发-深入学习[2]- AY-C#人爱学不学-aaronyang技术分享

1 :

C#
Assembly.GetEntryAssembly().GetName().Version.ToString()

获得值是2.1.0.0   版本这东西,做升级,错误记录 都会有用的。

====================www.ayjs.net       杨洋    wpfui.com        ayui      ay  aaronyang=======请不要转载谢谢了。=========

2:创建ini文件

C#
        [DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filepath);
C#
    string section = "runVersion";
string key = "Net45";
DateTime d = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
string val = ((long)(DateTime.Now - d).TotalSeconds).ToString();
string text = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "AY\\Profile");
if (!System.IO.Directory.Exists(text))
{
System.IO.Directory.CreateDirectory(text);
}
string filepath = text + "\\runVersion.ini";
WritePrivateProfileString(section, key, val, filepath);

section是 块,然后key,value,文件路径

获得ini的操作

接口

C#
        [DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section, string key, string defVal, StringBuilder retVal, int size, string filePath);

然后调用

C#
   string text2 = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "AY\\Profile\\runVersion.ini");
StringBuilder sb = new StringBuilder();
GetPrivateProfileString("runVersion", "Net45", "123", sb,10000, text2);
MessageBox.Show(sb.ToString());

修改或者新增,可以理解为 Set值 的一种行为

C#
   string text3 = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "AY\\Profile\\runVersion.ini");
WritePrivateProfileString("runVersion", "Net45", "888888", text3);
WritePrivateProfileString("runVersion", "ayui", "7.6.1.8", text3); StringBuilder sb1 = new StringBuilder();
GetPrivateProfileString("runVersion", "Net45", "", sb1, 10000, text3);
MessageBox.Show(sb1.ToString()); StringBuilder sb2 = new StringBuilder();
GetPrivateProfileString("runVersion", "ayui", "", sb2, 10000, text3);
MessageBox.Show(sb2.ToString());

删除节点,值是null,就删除了

string text4 = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "AY\\Profile\\runVersion.ini");

WritePrivateProfileString("runVersion", "Net45", null, text4);

删除块下面的所有值,当然这个块没有值,所以块也是没了

WritePrivateProfileString("runVersion", null, null, text4);

删除所有块

WritePrivateProfileString(null, null, null, text4);

====================www.ayjs.net       杨洋    wpfui.com        ayui      ay  aaronyang=======请不要转载谢谢了。=========

以上所有内容都是ay  摸索尝试出来的。

====================www.ayjs.net       杨洋    wpfui.com        ayui      ay  aaronyang=======请不要转载谢谢了。=========

推荐您阅读更多有关于“”的文章

C# 桌面软件开发-深入学习[2]- AY-C#人爱学不学-aaronyang技术分享的更多相关文章

  1. C# 桌面软件开发-深入学习 [1]- AY-C#人爱学不学-aaronyang技术分享

    原文:C# 桌面软件开发-深入学习 [1]- AY-C#人爱学不学-aaronyang技术分享 曾经我做office,不想依赖别人dll,就使用了 Type.GetTypeFromProgID 可以根 ...

  2. AY写给国人的教程- VS2017 Live Unit Testing[1/2]-C#人爱学不学-aaronyang技术分享

    原文:AY写给国人的教程- VS2017 Live Unit Testing[1/2]-C#人爱学不学-aaronyang技术分享 谢谢大家观看-AY的 VS2017推广系列 Live Unit Te ...

  3. AY写给国人的教程- VS2017 Live Unit Testing[2/2]-C#人爱学不学-aaronyang技术分享

    原文:AY写给国人的教程- VS2017 Live Unit Testing[2/2]-C#人爱学不学-aaronyang技术分享 谢谢大家观看-AY的 VS2017推广系列 Live Unit Te ...

  4. Mac 桌面软件开发基础问答

    1> Mac OS X平台下的桌面软件是由什么编程语言处理 答: 由Objective-C, swift编程语言处理 2> Mac OS X平台下的桌面软件是由什么框架构建 答: 由Coc ...

  5. nw.js桌面软件开发系列 第0.1节 HTML5和桌面软件开发的碰撞

    第0.1节 HTML5和桌面软件开发的碰撞 当我们谈论桌面软件开发技术的时候,你会想到什么?如果不对技术本身进行更为深入的探讨,在我的世界里,有这么多技术概念可以被罗列出来(请原谅我本质上是一个Win ...

  6. AY的Dapper研究学习-继续深入-C#开发-aaronyang技术分享

    原文:AY的Dapper研究学习-继续深入-C#开发-aaronyang技术分享 ====================www.ayjs.net       杨洋    wpfui.com      ...

  7. AY的Dapper研究学习-基本入门-C#开发-aaronyang技术分享

    原文:AY的Dapper研究学习-基本入门-C#开发-aaronyang技术分享 ====================www.ayjs.net       杨洋    wpfui.com      ...

  8. 基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子

      本文介绍了如何使用技术栈PyCharm+Qt Designer+PyQt5来开发桌面软件,从环境搭建.例子演示到对容易混淆概念的解释.文中用到的全部软件+代码下载链接为:https://url39 ...

  9. 拿到这份 Java、C++ 软件开发完整学习路线图,我面试再也没挂过..

    大家好,我是柠檬. 柠檬哥作为一个普通大学.非计算机专业,自学后端技术进入腾讯做后端开发工作,我自己也是非科班自学计算机成功转行软件开发(有想听柠檬哥转行之路经历的吗,可以留言告诉我,人多就写写),体 ...

随机推荐

  1. ArcGIS Engine 编辑介绍

    转自原文 ArcGIS Engine 编辑介绍 IWorkspaceEdit接口是ArcGIS Engine 实现空间数据编辑的重要接口,它让程序启动或者停止一个编辑流程,在这个编辑流程内,可以对数据 ...

  2. Hadoop源码分析(MapReduce概论)

    大家都熟悉文件系统,在对HDFS进行分析前,我们并没有花非常多的时间去介绍HDFS的背景.毕竟大家对文件系统的还是有一定的理解的,并且也有非常好的文档.在分析Hadoop的MapReduce部分前,我 ...

  3. Java NIO(6)----NIO与IO

    当学习了Java NIO和IO的API后,一个问题立即涌入脑海: 我应该何时使用IO.何时使用NIO呢?在本文中,我会尽量清晰地解析Java NIO和IO的差异.它们的使用场景,以及它们怎样影响您的代 ...

  4. 小强的HTML5移动开发之路(15)——HTML5中的音频

    浏览器虽然发展很快,但是浏览器中的标准还是不完善,在HTML4+CSS2+JS的前段开发中让很多程序员头疼的就是浏览器的兼容性问题,音频播放也一样,直到现在,仍然不存在一项网页上播放视频和音频的标准. ...

  5. 战略游戏 - 树型DP

    传送门 题目分析 题意:给一颗无根树,选择最少的节点将所有的边覆盖. 经典的树型DP,dp[i][0/1]表示选择或不选择i号节点的最优值. 当选择了i号节点,他的子节点可选可不选,选择最优的. 当不 ...

  6. 【t076】竞赛排名

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 某市组织了一次中学生科技全能竞赛,每个选手要参加数学.物理.化学.天文.地理.生物.计算机和英语共八项 ...

  7. vector, list, deque的选用(vector适用少量对象,list适用大量对象),以及效率问题

    如何选择这三个容器中哪一个,应根据你的需要而定,一般应遵循下面的原则:  1.如果你需要高效的随机存取,而不在乎插入和删除的效率,使用vector  2.如果你需要大量的插入和删除,而不关心随机存取( ...

  8. gcc/g++ 的参数总结(二)

    gcc 参数总结 如果是 c++,直接将 gcc 改为 g++ 即可. 1. gcc 编译流程 预处理,Pre-Processing:gcc -E test.c -o test.i //.i文件 编译 ...

  9. Redis中的管道(PipeLine)与事物(Transactions)

    Redis中的管道(PipeLine)与事物(Transactions) 序言 Redis中的管道(PipeLine)特性:简述一下就是,Redis如何从客户端一次发送多个命令,服务端到客户端如何一次 ...

  10. 人工模拟获取latch

    人工模拟获取latch 任意地dump一latches结构文件: SQL> oradebug dump latches 10 ORA-00074: no process has been spe ...