- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用C#获取各类系统环境信息的方法研究
By xfStudio
2016年3月5日星期六
最近对“如何利用C#获取系统有关环境和属性这个问题”进行研究。这个也是在网上问得比较多的问题,通过查阅各类资料,进行了初步研究,整理了一篇小文章。
目录
1获取CPU编号、硬盘编号等系统有关环境、属性 1
2 C#获取当前应用程序所在路径及环境变量 11
2.1 获取当前文件的路径 11
2.2 操作环境变量 12
3 获取本机电脑名称和IP地址 12
4 获取系统所有服务信息 15
5 获取系统进程信息 17
1获取CPU编号、硬盘编号等系统有关环境、属性
首先需要定义几个结构(struct)?,便于DllImport作为返回参数调用。以下是代码:CpuInfo.cs
using?System;?using?System.Configuration;?using?System.Runtime.InteropServices;??/**//**??* LayoutKind.Automatic:为了提高效率允许运行态对类型成员重新排序??* 注意:永远不要使用这个选项来调用不受管辖的动态链接库函数。??* LayoutKind.Explicit:对每个域按照FieldOffset属性对类型成员排序??* LayoutKind.Sequential:对出现在受管辖类型定义地方的不受管辖内存中的类型成员进行排序。??*/?????/**//// summary?///?定义CPU的信息结构?/// /summary?[StructLayout(LayoutKind.Sequential)]????public?struct?CpuInfo?...{?????????/**//// summary?????????///?OEM ID?????????/// /summary?????????public?uint?dwOemId;?????????/**//// summary?????????///?页面大小?????????/// /summary?????????public?uint?dwPageSize;?????????public?uint?lpMinimumApplicationAddress;?????????public?uint?lpMaximumApplicationAddress;?????????public?uint?dwActiveProcessorMask;?????????/**//// summary?????????///?CPU个数?????????/// /summary?????????public?uint?dwNumberOfProcessors;?????????/**//// summary?????????///?CPU类型?????????/// /summary?????????public?uint?dwProcessorType;?????????public?uint?dwAllocationGranularity;?????????/**//// summary?????????///?CPU等级?????????/// /summary?????????public?uint?dwProcessorLevel;?????????public?uint?dwProcessorRevision;????}
MemoryInfo.cs
using?System;?using?System.Configuration;?using?System.Runtime.InteropServices;??/**//**??* LayoutKind.Automatic:为了提高效率允许运行态对类型成员重新排序??* 注意:永远不要使用这个选项来调用不受管辖的动态链接库函数。??* LayoutKind.Explicit:对每个域按照FieldOffset属性对类型成员排序??* LayoutKind.Sequential:对出现在受管辖类型定义地方的不受管辖内存中的类型成员进行排序。??*/?/**//// summary?///?定义内存的信息结构?/// /summary?[StructLayout(LayoutKind.Sequential)]?public?struct?MemoryInfo?...{?????????/**//// summary?????????///????????????/// /summary?????????public?uint
您可能关注的文档
- 选学第七章基于SystemGenerator的DSP系统开发技术概要.ppt
- 选一考点2、3植物组织培养和有效成分的提取概要.ppt
- 选用、变换句式概要.ppt
- 选用经典好镜头概要.ppt
- 新生命的诞生(第2课时).ppt
- 选择不对努力白费概要.ppt
- 选择大于努力、太平成就未来概要.ppt
- 选择健康的生活方式概要.doc
- 新时代的劳动者优质课课件.ppt
- 选择题-1概要.doc
- 年三年级数学下册第三四单元过关检测卷新人教版.docx
- 第十三章轴对称(复习课)1.ppt
- 15.1.2分式基本性质(2).ppt
- 期末冲刺(补全对话30道).docx
- 【华创证券-2025研报】2025年二季报公募基金十大重仓股持仓分析.pdf
- 【港交所-2025研报】景福集团 截至2025年3月31日止年度年报.pdf
- 【天风证券-2025研报】2025中报前瞻:关注预告日至财报日的景气超额.pdf
- 【国金证券-2025研报】连连数字(02598):跨境支付先行者,前瞻布局虚拟资产.pdf
- 【第一上海证券-2025研报】云工场(02512):云工(02512):IDC方案服务商,边缘云业务打造第二成长曲线.pdf
- 【东方证券-2025研报】主动权益基金2025年二季报全解析:重点关注科技医药双主线和中小盘高成长主题基金.pdf
文档评论(0)