2024年6月2日发(作者:)
C#获取系统信息
方法一:利用注册表获取
//RegistryKey 类所需要的包:
//RegistryKey 类所需要的包:
using 32;
//DllImport方法所需要的包:
using pServices;
//StringBuilder所需要的包:
using ;
//声明API函数
[DllImport("kernel32")]
public static extern void GetWindowsDirectory(StringBuilder WinDir,int count);
[DllImport("kernel32")]
public static extern void GetSystemDirectory(StringBuilder SysDir,int count);
[DllImport("kernel32")]
public static extern void GetSystemInfo(ref CPU_INFO cpuinfo);
[DllImport("kernel32")]
public static extern void GlobalMemoryStatus(ref MEMORY_INFO meminfo);
[DllImport("kernel32")]
public static extern void GetSystemTime(ref SYSTEMTIME_INFO stinfo);
//定义以下各结构
//定义CPU的信息结构
[StructLayout(tial)]
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(tial)]
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;
}
//定义系统时间的信息结构
[StructLayout(tial)]
public struct SYSTEMTIME_INFO
{
public ushort wYear;
public ushort wDay;
public ushort wHour;
public ushort wMinute;
public ushort wSecond;
public ushort wMilliseconds;
}
private void initSysInfoData()
{
//获取操作系统设置
("计算机名 : " + erName );
("是否已连接网络 : " + k );
("用户域 : " + mainName );
("当前线程用户名 : " + me );
("启动方式 : " + de );
("菜单的字体 : " + nt );
("显示器的数目 : " + rCount );
("鼠标已安装 : " + resent );
("鼠标按钮数 : " + uttons);
("是否交互模式 : " + teractive );
("屏幕界限: " + lScreen );
}
public void initEnvData()
{
//获取程序运行的相关信息.
("命令行:"+ dLine);
("命令行参数:"+ (", ",mandLineArgs()));
("当前目录:"+ tDirectory);
("操作系统版本:"+ ion);
("系统目录:"+ Directory);
("堆栈信息:"+ race);
("用户域:"+ mainName);


发布评论