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 ...
随机推荐
- DMA (直接存储器访问)
DMA (直接存储器访问) 编辑 DMA(Direct Memory Access,直接内存存取) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载.否 ...
- linux学习之缓存机制
linux中的缓存机制 在Linux系统中,为了提高文件系统性能,内核利用一部分物理内存分配出缓冲区,用于缓存系统操作和数据文件,当内核收到读写的请求时,内核先去缓存区找是否有请求的数据,有就直接返回 ...
- codeforces #364b Cells Not Under Attack
比赛的时候 long long sum=n*n,计算不出1e10长度到数,没有搞掉. 哎,以后要注意这个地方.这个题其实不难: 统计能被攻击到的个数,然后用总的个数减掉就可以了.注意有些地方重复计算, ...
- jedis连接池的参数配置
<!-- 连接池的配置信息 --> <bean id="jedisConfig" class="redis.clients.jedis.Jedis ...
- iOS视频压缩存储至本地并上传至服务器
最近做了一个项目,我把其中的核心功能拿出来和大家分享一下,重点还是自己梳理一下. 这里关于视频转码存储我整理了两个方法,这两个方法都是针对相册内视频进行处理的. 1.该方法没有对视频进行压缩,只是将视 ...
- 各类 HTTP 返回状态代码详解(转)
FTP状态码 一.HTTP状态码 如果某项请求发送到您的服务器要求显示您网站上的某个网页(例如,用户通过浏览器访问您的网页或 Googlebot 抓取网页时),服务器将会返回 HTTP 状态代码以响应 ...
- 【转载】使用SoapUI 测试Web Service
转载地址:使用SoapUI 测试Web Service 如何测试写好的Webservice?你当然可以写代码来测试,但还是太麻烦,你得花时间去学习各语言的关于Webservice调用的相关API. ...
- C - Aladdin and the Flying Carpet 有多少种长方形满足面积为a(<=10^12),且最短边>=b;长方形边长为整数,且一定不可以是正方形。
/** 题目:C - Aladdin and the Flying Carpet 链接:https://vjudge.net/contest/154246#problem/C 题意:有多少种长方形满足 ...
- java 窗体
import javax.swing.*; /** * 一个简单的java窗体例子 */ public class Test { public static void main(String[] ar ...
- FIR滤波器与IIR滤波器
FIR(Finite Impulse Response)滤波器 有限长单位冲激响应滤波器,又称为非递归型滤波器 特点: FIR滤波器的最主要的特点是没有反馈回路,稳定性强,故不存在不稳定的问题: FI ...