c#常用类库----计算机信息类

本文介绍了一个使用C#编写的API,该API能够获取系统的内存状态、CPU信息、计算机名称及用户名称等。通过调用kernel32、advapi32等动态链接库中的函数实现这些功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;


namespace BaseFunction
{
    class API
    {
        [DllImport("kernel32")]//内存
        public static extern void GlobalMemoryStatus(ref  MEMORY_INFO meminfo);


        [StructLayout(LayoutKind.Sequential)]
        public struct CPU_INFO
        {
            public uint dwOemId;
            public uint dwPageSize;
            public uint lpMinimumApplicationAddress;
            public uint lpMaximumApplicationAddress;
            public uint dwActiveProcessorMask;
            public uint dwNumberOfProcessors;
            public uint dwProcessorType;
            public uint dwAllocationGranularity;
            public uint dwProcessorLevel;
            public uint dwProcessorRevision;
        }


        //定义内存的信息结构  
        [StructLayout(LayoutKind.Sequential)]
        public struct MEMORY_INFO
        {
            public uint dwLength;
            public uint dwMemoryLoad;
            public uint dwTotalPhys;
            public uint dwAvailPhys;
            public uint dwTotalPageFile;
            public uint dwAvailPageFile;
            public uint dwTotalVirtual;
            public uint dwAvailVirtual;
        }  
        [DllImport("kernel32",EntryPoint="GetComputerName",ExactSpelling=false,SetLastError=true)]//计算机名称
         public static extern bool GetComputerName([MarshalAs(UnmanagedType.LPArray)]byte[] IpBuffer,[MarshalAs(UnmanagedType.LPArray)]Int32[] nSize);
        [DllImport("advapi32", EntryPoint = "GetUserName", ExactSpelling = false, SetLastError = true)]//计算机用户名
         public static extern bool GetUserName([MarshalAs(UnmanagedType.LPArray)]byte[] IpBuffer, [MarshalAs(UnmanagedType.LPArray)]Int32[] nSize);
        [DllImport("Iphlpapi.dll")]
        public static extern int SendARP(Int32 dest, Int32 host, ref Int64 mac, ref Int32 length);
        [DllImport("Ws2_32.dll")]
        public static extern Int32 inet_addr(string ip);






    }
}

通信相关 1.C#HttpHelper,Httpwebrequest,请求时无视编码,无视证书,无视Cookie,网页抓取 主要是实现了HTTP协议的GET|POST请求时的无视编码,无视证书,设置代理,自动获取Cookie的功能。 访问数据库相关 1.SqlHelper 使用C#实现对Sql数据库的操作,执行存储过程,Sql语句,返回影响行数,返回DateTable,DataSet,DataReader,以及表集等方法。实现多个数据库的切换功能。功能强大,希望大家喜欢 2.一个操作Sql2005数据库的(备份,还原,分离,附加,添加删除用户等操作) 这主要是为了让大家练手的,他使用C#代 码的方法实现了对数据的 备份,还原,分离,附加,添加和删除用户等操作 3.DbHelperMySQL 数据访问抽象基础 主要是访问Mysql数据库主要实现如下功能 1.得到最大值 2.是否存在 3.是否存在(基于MySqlParameter) 4.执行SQL语句,返回影响的记录数 5.执行MySql和Oracle滴混合事务,执行多条SQL语句,实现数据库事务。 6.执行带一个存储过程参数的的SQL语句。 7.执行带一个存储过程参数的的SQL语句。 8.向数据库里插入图像格式的字段(和上面情况似的另一种实例) 9.执行一条计算查询结果语句,返回查询结果(object)。 10.执行查询语句,返回MySqlDataReader ( 注意:调用该方法后,一定要对MySqlDataReader进行Close ) 11.执行查询语句,返回DataSet,执行SQL语句,返回影响的记录数,执行多条SQL语句,实现数据库事务。 执行多条SQL语句,实现数据库事务。 12.执行多条SQL语句,实现数据库事务。 13.执行多条SQL语句,实现数据库事务。 14.执行一条计算查询结果语句,返回查询结果(object)。 15.执行查询语句,返回MySqlDataReader ( 注意:调用该方法后,一定要对MySqlDataReader进行Close ) 16.执行查询语句,返回DataSet等等。 复制代码 4.DbHelperOleDb 1.数据访问基础(基于OleDb)Access数据库, 2.得到最大值;是否存在;是否存在(基于OleDbParameter); 3.执行SQL语句,返回影响的记录数;执行多条SQL语句,实现数据库事务; 4.执行带一个存储过程参数的的SQL语句; 5.向数据库里插入图像格式的字段(和上面情况似的另一种实例); 6.执行一条计算查询结果语句,返回查询结果(object); 7.执行查询语句,返回OleDbDataReader; 8.执行查询语句,返回DataSet; 9.执行SQL语句,返回影响的记录数; 10.执行多条SQL语句,实现数据库事务; 11.执行一条计算查询结果语句,返回查询结果(object); 12.执行查询语句,返回OleDbDataReader;执行查询语句,返回DataSet; 复制代码 5.DbHelperOra 1.数据访问基础(基于Oracle),主要是用来访问Oracle数据库的。 2.得到最大值;是否存在;是否存在(基于OracleParameter ); 3.执行SQL语句,返回影响的记录数; 4.执行多条SQL语句,实现数据库事务; 5.执行带一个存储过程参数的的SQL语句; 6.向数据库里插入图像格式的字段(和上面情况似的另一种实例); 7.执行一条计算查询结果语句,返回查询结果(object); 8.执行查询语句,返回OracleDataReader ( 注意:调用该方法后,一定要对SqlDataReader进行Close ); 9.执行查询语句,返回DataSet; 10.执行SQL语句,返回影响的记录数; 11.执行多条SQL语句,实现数据库事务; 12.执行一条计算查询结果语句,返回查询结果(object); 13.执行查询语句,返回OracleDataReader ( 注意:调用该方法后,一定要对SqlDataReader进行Close ); 14.执行查询语句,返回DataSet; 15.执行存储过程 返回SqlDataReader ( 注意:调用该方法后,一定要对SqlDataReader进行Close ); 16.执行存储过程;构建 OracleCommand 对象(用来返回一个结果集,而不是一个整数值); 17.执行存储过程,返回影响的行数; 18.创建 OracleCommand 对象实例(用来返回一个整数值) 复制代码 6.DbHelperSQLite [code=csharp] 1.数据访问基础(基于SQLite),主要是用来访问SQLite数据库的。 2.得到最大值;是否存在;是否存在(基于SQLiteParameter); 3. 执行SQL语句,返回影响的记录数 4.执行多条SQL语句,实现数据库事务。 5.执行带一个存储过程参数的的SQL语句。 6.向数据库里插入图像格式的字段(和上面情况似的另一种实例) 7.执行一条计算查询结果语句,返回查询结果(object)。 8.执行查询语句,返回SQLiteDataReader 9.执行查询语句,返回DataSet 10.执行SQL语句,返回影响的记录数 11. 执行多条SQL语句,实现数据库事务。 12. 执行一条计算查询结果语句,返回查询结果(object)。 13.执行查询语句,返回SQLiteDataReader 14.执行查询语句还参数,返回DataSet[/code] 7.DbHelperSQLP 8.DbHelperSQL 9.OracleHelper
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值