C# 桌面软件开发-深入学习[2]- AY-C#人爱学不学-aaronyang技术分享
原文:C# 桌面软件开发-深入学习[2]- AY-C#人爱学不学-aaronyang技术分享
1 :
Assembly.GetEntryAssembly().GetName().Version.ToString()
获得值是2.1.0.0 版本这东西,做升级,错误记录 都会有用的。

====================www.ayjs.net 杨洋 wpfui.com ayui ay aaronyang=======请不要转载谢谢了。=========
2:创建ini文件
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filepath);
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的操作
接口
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section, string key, string defVal, StringBuilder retVal, int size, string filePath);
然后调用
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值 的一种行为
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技术分享的更多相关文章
- C# 桌面软件开发-深入学习 [1]- AY-C#人爱学不学-aaronyang技术分享
原文:C# 桌面软件开发-深入学习 [1]- AY-C#人爱学不学-aaronyang技术分享 曾经我做office,不想依赖别人dll,就使用了 Type.GetTypeFromProgID 可以根 ...
- AY写给国人的教程- VS2017 Live Unit Testing[1/2]-C#人爱学不学-aaronyang技术分享
原文:AY写给国人的教程- VS2017 Live Unit Testing[1/2]-C#人爱学不学-aaronyang技术分享 谢谢大家观看-AY的 VS2017推广系列 Live Unit Te ...
- AY写给国人的教程- VS2017 Live Unit Testing[2/2]-C#人爱学不学-aaronyang技术分享
原文:AY写给国人的教程- VS2017 Live Unit Testing[2/2]-C#人爱学不学-aaronyang技术分享 谢谢大家观看-AY的 VS2017推广系列 Live Unit Te ...
- Mac 桌面软件开发基础问答
1> Mac OS X平台下的桌面软件是由什么编程语言处理 答: 由Objective-C, swift编程语言处理 2> Mac OS X平台下的桌面软件是由什么框架构建 答: 由Coc ...
- nw.js桌面软件开发系列 第0.1节 HTML5和桌面软件开发的碰撞
第0.1节 HTML5和桌面软件开发的碰撞 当我们谈论桌面软件开发技术的时候,你会想到什么?如果不对技术本身进行更为深入的探讨,在我的世界里,有这么多技术概念可以被罗列出来(请原谅我本质上是一个Win ...
- AY的Dapper研究学习-继续深入-C#开发-aaronyang技术分享
原文:AY的Dapper研究学习-继续深入-C#开发-aaronyang技术分享 ====================www.ayjs.net 杨洋 wpfui.com ...
- AY的Dapper研究学习-基本入门-C#开发-aaronyang技术分享
原文:AY的Dapper研究学习-基本入门-C#开发-aaronyang技术分享 ====================www.ayjs.net 杨洋 wpfui.com ...
- 基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子
本文介绍了如何使用技术栈PyCharm+Qt Designer+PyQt5来开发桌面软件,从环境搭建.例子演示到对容易混淆概念的解释.文中用到的全部软件+代码下载链接为:https://url39 ...
- 拿到这份 Java、C++ 软件开发完整学习路线图,我面试再也没挂过..
大家好,我是柠檬. 柠檬哥作为一个普通大学.非计算机专业,自学后端技术进入腾讯做后端开发工作,我自己也是非科班自学计算机成功转行软件开发(有想听柠檬哥转行之路经历的吗,可以留言告诉我,人多就写写),体 ...
随机推荐
- Mac下Android studio 之NDK配置教程(一)
Mac下Android studio 之NDK配置教程(一) 1.概述 近期项目全线转移到Mac下使用使用Android studio开发. 遇到关键代码封装到 ***native***层,此时在wi ...
- 【42.86%】【codeforces 742D】Arpa's weak amphitheater and Mehrdad's valuable Hoses
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...
- [TypeScript] Catch unsafe use of "this" in TypeScript functions
this is probably the most tricky thing to use in JavaScript and therefore TypeScript. Fortunately th ...
- 我的Java开发学习之旅------>Java经典排序算法之归并排序
一.归并排序 归并排序是建立在归并操作上的一种有效的排序算法,该算法是採用分治法(Divide and Conquer)的一个很典型的应用.将已有序的子序列合并,得到全然有序的序列.即先使每一个子序列 ...
- 孔雀翎----《Programming C# 》中国版 文章4版
孔雀翎----<Programming C# >中国版 文章4版 页:http://blog.csdn.net/21aspnet/ 时间:2007.8.7 电子工业出版 ...
- 【codeforces 785A】Anton and Polyhedrons
[题目链接]:http://codeforces.com/contest/785 [题意] 给你各种形状的物体; 然后让你计算总的面数; [题解] 用map来记录各种物体本该有的面数; 读入各种物体; ...
- SpringBoot 打包成war包,部署到tomcat
使用maven创建的springboot项目,默认是jar包,springboot还有自己带的tomcat.现在需要将项目打包,并部署到服务器tomcat下面. 1.修改pom.xml文件.将jar修 ...
- effective c++ 条款7
1.随着多态基类应该声明一个质virtual析构函数. 假定class由于不管是什么virtual析构函数, 它应该有一个virtual析构函数. 2.classed的设计目的假设不是作为base c ...
- Modbus 通信协议详解
一.Modbus 协议简介 Modbus 协议是应用于电子控制器上的一种通用语言.通过此协议,控制器相互之间.控制器经由网络(例如以太网)和其它设备之间可以通信.它已经成为一通用工业标准.有了 ...
- 网络故障模拟,cpu高压以及docker中的实现
利用tc进行丢包 通过网络丢包来模拟网络故障,是测试中一个重要的测试项目.这对服务来说可以测试其在网络故障时的异常处理的能力,对于服务的可靠性是一个相当严苛的测试. 网卡名为$netcard,丢包率为 ...