C# 函数2
//读写INI
public class GF_INI { [DllImport("kernel32")] private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); [DllImport("kernel32")] private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath); [DllImport("kernel32.dll")] public static extern int Beep(int dwFreq, int dwDuration); //读ini public static void iniFile_SetVal(string in_filename, string Section, string Key, string Value) { WritePrivateProfileString(Section, Key, Value, in_filename); } //写INI public static string iniFile_GetVal(string in_filename, string Section, string Key) { StringBuilder temp = new StringBuilder(255); int i = GetPrivateProfileString(Section, Key, "", temp, 255, in_filename); if (i == 0) return ""; else return temp.ToString(); } }//硬件信息
public class GF_Hardware { /// <summary> /// cpu序列号 /// </summary> /// <returns></returns> public static string getID_CpuId() { string cpuInfo = "";//cpu序列号 ManagementClass cimobject = new ManagementClass("Win32_Processor"); ManagementObjectCollection moc = cimobject.GetInstances(); foreach (ManagementObject mo in moc) { cpuInfo = mo.Properties["ProcessorId"].Value.ToString(); } return cpuInfo; } /// <summary> /// 硬盘ID号 /// </summary> /// <returns></returns> public static string getID_HardDiskId() { string HDid = ""; ManagementClass cimobject = new ManagementClass("Win32_DiskDrive"); ManagementObjectCollection moc = cimobject.GetInstances(); foreach (ManagementObject mo in moc) { HDid = (string)mo.Properties["Model"].Value; } return HDid; } /// <summary> /// 获取网卡MacAddress /// </summary> /// <returns></returns> public static string getID_NetCardId() { string NCid = ""; ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { if ((bool)mo["IPEnabled"] == true) NCid = mo["MacAddress"].ToString(); mo.Dispose(); } return NCid; } }//网络部分
public class GF_Network { /* * C#完整的通信代码(点对点,点对多,同步,异步,UDP,TCP) * http://topic.csdn.net/u/20080619/08/dcef3fe2-f95b-4918-8edb-36d48a3d0528_2.html * */ /// <summary> /// 获取IP地址 返回第一个 /// </summary> /// <returns></returns> public static string getIP_This() { IPHostEntry hostInfo = Dns.GetHostEntry(Dns.GetHostName()); IPAddress[] address = hostInfo.AddressList; if (address.Length == 0) return ""; else return address[0].ToString(); } /// <summary> /// ping IP地址 timeout 局域网用200,广域网用2000 /// </summary> /// <param name="ip">IP地址</param> /// <param name="timeout">超时 毫秒</param> /// <returns></returns> public static bool ping(string ip, int timeout) { IPAddress ipadd; if (!IPAddress.TryParse(ip, out ipadd)) { return false; } Ping pingSender = new Ping(); PingReply reply = pingSender.Send(ip, timeout, new Byte[] { Convert.ToByte(1) }); if (reply.Status == IPStatus.Success) return true; else return false; } /// <summary> /// 判读是否是IP地址 /// </summary> /// <param name="in_str"></param> /// <returns></returns> public static bool IsIPStr(string in_str) { if (in_str.Replace(".", "").Length != in_str.Length - 3) return false; try { IPAddress ip = IPAddress.Parse(in_str); return true; } catch { return false; } } }//读写INI
public class GF_INI { [DllImport("kernel32")] private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); [DllImport("kernel32")] private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath); [DllImport("kernel32.dll")] public static extern int Beep(int dwFreq, int dwDuration); //读ini public static void iniFile_SetVal(string in_filename, string Section, string Key, string Value) { WritePrivateProfileString(Section, Key, Value, in_filename); } //写INI public static string iniFile_GetVal(string in_filename, string Section, string Key) { StringBuilder temp = new StringBuilder(255); int i = GetPrivateProfileString(Section, Key, "", temp, 255, in_filename); if (i == 0) return ""; else return temp.ToString(); } }//文件操作
public class GF_File { /// <summary> /// 写日志文件 /// </summary> /// <param name="sPath"> 年月 例 2011-04</param> /// <param name="sFileName">月日 例 04-22</param> /// <param name="content">时间+ 内容</param> /// <returns></returns> public static bool WriteLog(string sPath, string sFileName, string content) { try { StreamWriter sr; if (!Directory.Exists(sPath)) { Directory.CreateDirectory(sPath); } string v_filename = sPath+"\\"+ sFileName; if (!File.Exists(v_filename)) //如果文件存在,则创建File.AppendText对象 { sr = File.CreateText(v_filename); sr.Close(); } using (FileStream fs = new FileStream(v_filename, System.IO.FileMode.Append, System.IO.FileAccess.Write, System.IO.FileShare.Write)) { using (sr = new StreamWriter(fs)) { sr.WriteLine(DateTime.Now.ToString("hh:mm:ss")+" "+ content); sr.Close(); } fs.Close(); } return true; } catch { return false; } } /// <summary> /// 读取文本文件内容,每行存入arrayList 并返回arrayList对象 /// </summary> /// <param name="sFileName"></param> /// <returns>arrayList</returns> public static ArrayList ReadFileRow(string sFileName) { string sLine = ""; ArrayList alTxt = null; try { using (StreamReader sr = new StreamReader(sFileName)) { alTxt = new ArrayList(); while (!sr.EndOfStream) { sLine = sr.ReadLine(); if (sLine != "") { alTxt.Add(sLine.Trim()); } } sr.Close(); } } catch { } return alTxt; } /// <summary> /// 备份文件 /// </summary> /// <param name="sourceFileName">源文件名</param> /// <param name="destFileName">目标文件名</param> /// <param name="overwrite">当目标文件存在时是否覆盖</param> /// <returns>操作是否成功</returns> public static bool BackupFile(string sourceFileName, string destFileName, bool overwrite) { if (!System.IO.File.Exists(sourceFileName)) throw new FileNotFoundException(sourceFileName + "文件不存在!"); if (!overwrite && System.IO.File.Exists(destFileName)) return false; try { System.IO.File.Copy(sourceFileName, destFileName, true); return true; } catch (Exception e) { throw e; } } /// <summary> /// 备份文件,当目标文件存在时覆盖 /// </summary> /// <param name="sourceFileName">源文件名</param> /// <param name="destFileName">目标文件名</param> /// <returns>操作是否成功</returns> public static bool BackupFile(string sourceFileName, string destFileName) { return BackupFile(sourceFileName, destFileName, true); } /// <summary> /// 恢复文件 /// </summary> /// <param name="backupFileName">备份文件名</param> /// <param name="targetFileName">要恢复的文件名</param> /// <param name="backupTargetFileName">要恢复文件再次备份的名称,如果为null,则不再备份恢复文件</param> /// <returns>操作是否成功</returns> public static bool RestoreFile(string backupFileName, string targetFileName, string backupTargetFileName) { try { if (!System.IO.File.Exists(backupFileName)) throw new FileNotFoundException(backupFileName + "文件不存在!"); if (backupTargetFileName != null) { if (!System.IO.File.Exists(targetFileName)) throw new FileNotFoundException(targetFileName + "文件不存在!无法备份此文件!"); else System.IO.File.Copy(targetFileName, backupTargetFileName, true); } System.IO.File.Delete(targetFileName); System.IO.File.Copy(backupFileName, targetFileName); } catch (Exception e) { throw e; } return true; } public static bool RestoreFile(string backupFileName, string targetFileName) { return RestoreFile(backupFileName, targetFileName, null); } }C# 函数2的更多相关文章
- Python 小而美的函数
python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况 any any(iterable) ...
- 探究javascript对象和数组的异同,及函数变量缓存技巧
javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...
- JavaScript权威指南 - 函数
函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...
- C++对C的函数拓展
一,内联函数 1.内联函数的概念 C++中的const常量可以用来代替宏常数的定义,例如:用const int a = 10来替换# define a 10.那么C++中是否有什么解决方案来替代宏代码 ...
- 菜鸟Python学习笔记第一天:关于一些函数库的使用
2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...
- javascript中的this与函数讲解
前言 javascript中没有块级作用域(es6以前),javascript中作用域分为函数作用域和全局作用域.并且,大家可以认为全局作用域其实就是Window函数的函数作用域,我们编写的js代码, ...
- 复杂的 Hash 函数组合有意义吗?
很久以前看到一篇文章,讲某个大网站储存用户口令时,会经过十分复杂的处理.怎么个复杂记不得了,大概就是先 Hash,结果加上一些特殊字符再 Hash,结果再加上些字符.再倒序.再怎么怎么的.再 Hash ...
- JS核心系列:浅谈函数的作用域
一.作用域(scope) 所谓作用域就是:变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的. function scope(){ var foo = "global&quo ...
- C++中的时间函数
C++获取时间函数众多,何时该用什么函数,拿到的是什么时间?该怎么用?很多人都会混淆. 本文是本人经历了几款游戏客户端和服务器开发后,对游戏中时间获取的一点总结. 最早学习游戏客户端时,为了获取最精确 ...
- Python高手之路【四】python函数装饰器
def outer(func): def inner(): print('hello') print('hello') print('hello') r = func() print('end') p ...
随机推荐
- atitit.线程死锁 卡住无反应 的原因in cmd调用的解决方案 v3 q39
atitit.线程死锁 卡住无反应 的原因in cmd调用的解决方案 v3 q39 1. 问题::线程死锁 卡住无反应1 1.1. 分类:: cmd调用, net io , file io ...
- iOS_16_控制器切换_modal_storyboard拖线的方式
终于效果图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHJlX2VtaW5lbnQ=/font/5a6L5L2T/fontsize/400/fill ...
- Android JNI和NDK学习(02)--静态方式实现JNI(转)
本文转自:http://www.cnblogs.com/skywang12345/archive/2013/05/23/3095013.html JNI包括两种实现方法:静态和动态.两种方法的区别如下 ...
- AndroidManifest.xml配置
AndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,本文旨在总结该配置文件中重点的用法,以便日后查阅.下面是一个标准的AndroidManifest.xm ...
- 一个奇怪的EL表达式错误
下图是在Struts2的action中写的一个方法 JSP页面代码如下: 在页面访问如下路径:http://localhost:8088/maven_ssh/cust_getCustList 目前推测 ...
- Keil(MDK-ARM)使用教程(一)_界面+菜单
Ⅰ.概述 今天总结Keil(MDK-ARM)界面和菜单相关的内容,详情请往下看. 关于Keil的下载.安装和新建工程我已将在前面做了详细的总结,不懂的可以参考我博客里面相关的文章.该文章是在新建好工程 ...
- OpenFiler configuration
5.OpenFiler configuration 登录Openfiler 步骤1:安装 FireFox 步骤2:通过FireFox以HTTPS://server-ip:446 远程访问O ...
- Blue Jeans - poj 3080(后缀数组)
大致题意: 给出n个长度为60的DNA基因(A腺嘌呤 G鸟嘌呤 T胸腺嘧啶 C胞嘧啶)序列,求出他们的最长公共子序列 使用后缀数组解决 #include<stdio.h> #include ...
- 搭建RocketMQ踩的坑-内存不足
环境是vmvare+ubuntu 1.http://rocketmq.apache.org/docs/quick-start/ 按照官网来启动mqnamesrv和mqbroker报错 错误如下 The ...
- (转)txt读写 操作封装
[code]csharpcode: using UnityEngine; using System.Collections.Generic; using System.IO; using System ...