| [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 wmonth; public ushort wdayofweek; public ushort wday; public ushort whour; public ushort wminute; public ushort wsecond; public ushort wmilliseconds; } |
![]() |
| private void getinfo_click(object sender, system.eventargs e) { //調用getwindowsdirectory和getsystemdirectory函數分別取得windows路徑和系統路徑 const int nchars = 128; stringbuilder buff = new stringbuilder(nchars); getwindowsdirectory(buff,nchars); windowsdirectory.text = "windows路徑:"+buff.tostring(); getsystemdirectory(buff,nchars); systemdirectory.text = "系統路徑:"+buff.tostring(); //調用getsysteminfo函數獲取cpu的相關信息 cpu_info cpuinfo; cpuinfo = new cpu_info(); getsysteminfo(ref cpuinfo); numberofprocessors.text = "本計算機中有"+cpuinfo.dwnumberofprocessors.tostring()+"個cpu"; processortype.text = "cpu的類型為"+cpuinfo.dwprocessortype.tostring(); processorlevel.text = "cpu等級為"+cpuinfo.dwprocessorlevel.tostring(); oemid.text = "cpu的oem id為"+cpuinfo.dwoemid.tostring(); pagesize.text = "cpu中的頁面大小為"+cpuinfo.dwpagesize.tostring(); //調用globalmemorystatus函數獲取內存的相關信息 memory_info meminfo; meminfo = new memory_info(); globalmemorystatus(ref meminfo); memoryload.text = meminfo.dwmemoryload.tostring()+"%的內存正在使用"; totalphys.text = "物理內存共有"+meminfo.dwtotalphys.tostring()+"字節"; availphys.text = "可使用的物理內存有"+meminfo.dwavailphys.tostring()+"字節"; totalpagefile.text = "交換文件總大小為"+meminfo.dwtotalpagefile.tostring()+"字節"; availpagefile.text = "尚可交換文件大小為"+meminfo.dwavailpagefile.tostring()+"字節"; totalvirtual.text = "總虛擬內存有"+meminfo.dwtotalvirtual.tostring()+"字節"; availvirtual.text = "未用虛擬內存有"+meminfo.dwavailvirtual.tostring()+"字節"; //調用getsystemtime函數獲取系統時間信息 systemtime_info stinfo; stinfo = new systemtime_info(); getsystemtime(ref stinfo); date.text = stinfo.wyear.tostring()+"年"+stinfo.wmonth.tostring()+"月"+stinfo.wday.tostring()+"日"; time.text = (stinfo.whour+8).tostring()+"點"+stinfo.wminute.tostring()+"分"+stinfo.wsecond.tostring()+"秒"; } |
![]() |
新聞熱點
疑難解答