资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
C#获取系统信息方法一:利用注册表获取/RegistryKey 类所需要的包:/RegistryKey 类所需要的包:using Microsoft.Win32;/DllImport方法所需要的包:using System.Runtime.InteropServices;/StringBuilder所需要的包:using System.Text;/声明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(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; /定义系统时间的信息结构 StructLayout(LayoutKind.Sequential) 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() /获取操作系统设置 lstSysInfo.Items.Add(计算机名 : + SystemInformation.ComputerName ); lstSysInfo.Items.Add(是否已连接网络 : + SystemInformation.Network ); lstSysInfo.Items.Add(用户域 : + SystemInformation.UserDomainName ); lstSysInfo.Items.Add(当前线程用户名 : + SystemInformation.UserName ); lstSysInfo.Items.Add(启动方式 : + SystemInformation.BootMode ); lstSysInfo.Items.Add(菜单的字体 : + SystemInformation.MenuFont ); lstSysInfo.Items.Add(显示器的数目 : + SystemInformation.MonitorCount ); lstSysInfo.Items.Add(鼠标已安装 : + SystemInformation.MousePresent ); lstSysInfo.Items.Add(鼠标按钮数 : + SystemInformation.MouseButtons); lstSysInfo.Items.Add(是否交互模式 : + SystemInformation.UserInteractive ); lstSysInfo.Items.Add(屏幕界限: + SystemInformation.VirtualScreen ); public void initEnvData() /获取程序运行的相关信息. lstEnv.Items.Add(命令行:+ Environment.CommandLine); lstEnv.Items.Add(命令行参数:+ String.Join(, ,Environment.GetCommandLineArgs(); lstEnv.Items.Add(当前目录:+ Environment.CurrentDirectory); lstEnv.Items.Add(操作系统版本:+ Environment.OSVersion); lstEnv.Items.Add(系统目录:+ Environment.SystemDirectory); lstEnv.Items.Add(堆栈信息:+ Environment.StackTrace); lstEnv.Items.Add(用户域:+ Environment.UserDomainName); lstEnv.Items.Add(CLR版本:+ Environment.Version); lstEnv.Items.Add(系统启动后经过的毫秒:+ Environment.TickCount); lstEnv.Items.Add(进程上下文的物理内存量:+ Environment.WorkingSet); String drives = Environment.GetLogicalDrives(); lstEnv.Items.Add(本机磁盘驱动器: + String.Join(, , drives); / 获取本机所有环境变量 IDictionary environmentVariables = Environment.GetEnvironmentVariables(); foreach (DictionaryEntry de in environmentVariables) lstEnv.Items.Add(de.Key+=+de.Value); public void initRegKeyData() /通过注册表获取信息 RegistryKey Rkey = Registry.LocalMachine; Rkey = Rkey.OpenSubKey(HARDWAREDESCRIPTIONSystemCentralProcessor0); lstRegkey.Items.Add(处理器信息:+Rkey.GetValue(ProcessorNameString).ToString().Trim(); Rkey=Registry.LocalMachine; Rkey = Rkey.OpenSubKey(SOFTWAREMicrosoftWindows NTCurrentVersionNetworkCards1); lstRegkey.Items.Add(网卡信息:+(String)Rkey.GetValue(Description); public void initAPIData() /调用GetWindowsDirect
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号