Environment类,获取程序所在机器信息

Environment类,获取程序所在机器信息

一、属性

CommandLine     获取该进程的命令行。
CurrentDirectory   获取或设置当前工作目录的完全限定路径。
ExitCode       获取或设置进程的退出代码。
HasShutdownStarted   获取一个值,该值指示公共语言运行时 (CLR) 是否正在关闭。
Is64BitOperatingSystem  确定当前操作系统是否为 64 位操作系统。
Is64BitProcess    确定当前进程是否为 64 位进程。
MachineName      获取此本地计算机的 NetBIOS 名称。
NewLine        获取为此环境定义的换行字符串。
OSVersion        获取包含当前平台标识符和版本号的 OperatingSystem 对象。
ProcessorCount    获取当前计算机上的处理器数。
StackTrace       获取当前的堆栈跟踪信息。
SystemDirectory   获取系统目录的完全限定路径。
SystemPageSize   获取操作系统的页面文件的内存量。
TickCount       获取系统启动后经过的毫秒数。
UserDomainName   获取与当前用户关联的网络域名。
UserInteractive     获取一个值,用以指示当前进程是否在用户交互模式中运行。
UserName       获取当前已登录到 Windows 操作系统的人员的用户名。
Version           获取一个 Version 对象,该对象描述公共语言运行时的主版本、次版本、内部版本和修订号。
WorkingSet      获取映射到进程上下文的物理内存量。

示例:

复制代码
class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(Environment.WorkingSet);  //输出 15806464

            Version version = Environment.Version;
            Console.WriteLine(version.Build);   //输出 30319
            Console.WriteLine(Environment.UserName);    //输出 Administrator  获取当前Windows系统的用户名
            Console.WriteLine(Environment.UserInteractive);     //输出 True 获取一个值,用以指示当前进程是否在用户交互模式中运行。
            Console.WriteLine(Environment.UserDomainName);  //输出 KISSDODOG-PC 获取与当前用户关联的网络域名。
            Console.WriteLine(Environment.TickCount);   //输出 33445319 系统启动后经过的毫秒数
            Console.WriteLine(Environment.TickCount / 1000 / 60);   //我靠,启动了558分钟了
            Console.WriteLine(Environment.SystemPageSize);   //输出 4096 获取操作系统的页面文件的内存量(单位字节)。
            Console.WriteLine(Environment.SystemDirectory);  //输出 C:\Windows\system32 获取系统目录的完全限定路径。
            Console.WriteLine(Environment.StackTrace);    //输出 跟错误信息差不多,都是在xxx位置,等等这些信息,目前还看不懂 获取当前的堆栈跟踪信息。
            Console.WriteLine(Environment.ProcessorCount);  //输出 2 输出当前计算机的CPU内核数 双核,没错
            

            OperatingSystem os = Environment.OSVersion;
            Console.WriteLine(os);   //输出    获取包含当前操作系统平台标识符和版本号的 OperatingSystem 对象。

            Console.WriteLine(Environment.NewLine);     //输出 换行符 获取为此环境定义的换行字符串。
            Console.WriteLine(Environment.MachineName); //输出 KISSDODOG-PC 获取此本地计算机的 NetBIOS 名称。

            Console.WriteLine(Environment.Is64BitOperatingSystem);  //输出 False 确定当前操作系统是否为 64 位操作系统。
            Console.WriteLine(Environment.Is64BitProcess);   //输出 False 确定当前进程是否为 64 位进程。

            Console.WriteLine(Environment.HasShutdownStarted);  //输出 False 指示公共语言运行时CLR是否正在关闭

            Console.WriteLine(Environment.ExitCode);    //输出 0 获取或设置进程的退出代码。

            Console.WriteLine(Environment.CurrentDirectory);     //输出 C:\Users\Administrator\Desktop\ConsoleApplication1\ConsoleApplication1\bin\Debug 获取或设置当前工作目录的完全限定路径。

            Console.WriteLine(Environment.CommandLine);     //输出 "C:\Users\Administrator\Desktop\ConsoleApplication1\ConsoleApplication1\bin\Debug\ConsoleApplication1.vshost.exe" 获取该进程的命令行

            File.WriteAllText(@"D:\123.txt", Environment.CommandLine);  //输出 Microsoft Windows NT 6.1.7600.0


            Console.ReadKey();
        }
    }
复制代码

 二、方法

Exit                 终止此进程并为基础操作系统提供指定的退出代码。
ExpandEnvironmentVariables      将嵌入到指定字符串中的每个环境变量的名称替换为该变量的值的等效字符串,然后返回结果字符串。
FailFast(String)           向 Windows 的应用程序事件日志写入消息后立即终止进程,然后在发往 Microsoft 的错误报告中加入该消息。
FailFast(String, Exception)      向 Windows 的应用程序事件日志写入消息后立即终止进程,然后在发往 Microsoft 的错误报告中加入该消息和异常信息。
GetCommandLineArgs         返回包含当前进程的命令行参数的字符串数组。
GetEnvironmentVariable(String)   从当前进程检索环境变量的值。
GetEnvironmentVariable(String, EnvironmentVariableTarget)   从当前进程或者从当前用户或本地计算机的 Windows 操作系统注册表项检索环境变量的值。
GetEnvironmentVariables()      从当前进程检索所有环境变量名及其值。
GetEnvironmentVariables(EnvironmentVariableTarget)   从当前进程或者从当前用户或本地计算机的 Windows 操作系统注册表项检索所有环境变量名及其值。
GetFolderPath(Environment.SpecialFolder)     获取由指定枚举标识的系统特殊文件夹的路径。
GetFolderPath(Environment.SpecialFolder, Environment.SpecialFolderOption) 获取由指定枚举标识的系统特殊文件夹的路径,并使用用于访问特殊文件夹的指定选项。
GetLogicalDrives           返回包含当前计算机中的逻辑驱动器名称的字符串数组。
SetEnvironmentVariable(String, String)     创建、修改或删除当前进程中存储的环境变量。
SetEnvironmentVariable(String, String, EnvironmentVariableTarget)   创建、修改或删除当前进程中或者为当前用户或本地计算机保留的 Windows 操作系统注册表项中存储的环境变量。

复制代码
        static void Main(string[] args)
        {
            //Exit    终止此进程并为基础操作系统提供指定的退出代码。
            //ExpandEnvironmentVariables    将嵌入到指定字符串中的每个环境变量的名称替换为该变量的值的等效字符串,然后返回结果字符串。
            //FailFast(String)    向 Windows 的应用程序事件日志写入消息后立即终止进程,然后在发往 Microsoft 的错误报告中加入该消息。
            //FailFast(String, Exception)    向 Windows 的应用程序事件日志写入消息后立即终止进程,然后在发往 Microsoft 的错误报告中加入该消息和异常信息。
            //GetCommandLineArgs    返回包含当前进程的命令行参数的字符串数组。
            //GetEnvironmentVariable(String)    从当前进程检索环境变量的值。
            //GetEnvironmentVariable(String, EnvironmentVariableTarget)    从当前进程或者从当前用户或本地计算机的 Windows 操作系统注册表项检索环境变量的值。
            //GetEnvironmentVariables()    从当前进程检索所有环境变量名及其值。
            //GetEnvironmentVariables(EnvironmentVariableTarget)    从当前进程或者从当前用户或本地计算机的 Windows 操作系统注册表项检索所有环境变量名及其值。
            //GetFolderPath(Environment.SpecialFolder)    获取由指定枚举标识的系统特殊文件夹的路径。
            //GetFolderPath(Environment.SpecialFolder, Environment.SpecialFolderOption)    获取由指定枚举标识的系统特殊文件夹的路径,并使用用于访问特殊文件夹的指定选项。
            //GetLogicalDrives    返回包含当前计算机中的逻辑驱动器名称的字符串数组。
            //SetEnvironmentVariable(String, String)    创建、修改或删除当前进程中存储的环境变量。
            //SetEnvironmentVariable(String, String, EnvironmentVariableTarget)    创建、修改或删除当前进程中或者为当前用户或本地计算机保留的 Windows 操作系统注册表项中存储的环境变量。

            Console.ReadKey();
        }
复制代码

 

转载于:https://www.cnblogs.com/zxbzl/p/5799002.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108900.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 循环队列 基本概念「建议收藏」

    循环队列 基本概念「建议收藏」循环队列是队列的一种特殊形式。首先介绍队列,然后引申出循环队列。队列又称为“先进先出”(FIFO)线性表限定插入操作只能在队尾进行,而删除操作只能在队首进行队列也可以采用顺序存储结构或链表结构来实现,分别称为顺序队列和链队列队列的顺序表示—顺序队列用一组连续的存储单元依次存放从队首到队尾的元素,附设两个指针head和tail分别指向队首元素和队尾元素的位置,(有的地方用f…

    2022年5月6日
    62
  • 汇编语言之Debug教程篇

    参考书籍《汇编语言》——王爽Debug的命令比较多,这里我介绍常用的命令,其余的等需要的时候再进行查询。命令用途Debug-R查看、改变CPU寄存器的内容Debug-D查看内存中的内容Debug-E改写内存中的内容Debug-U将内存中的机器指令翻译成汇编指令Debug-T执行一条机器指令…

    2022年4月16日
    47
  • 前端代码自动生成工具_车辆识别代码生成器

    前端代码自动生成工具_车辆识别代码生成器场景1.CodeFun是什么CodeFun是一款UI设计稿智能生成源代码的工具,支持微信小程序端、移动端H5和混合APP,上传Sketch、PSD等形式的设计稿,通过智能化技术一键生成可维护的前端代码.2.学习成本高吗?对于前端工程师来说,几乎没有学习成本。对于用惯了蓝湖/摹客的前端工程师来说,CodeFun使用流程与前者几乎一致:设计师上传完稿件后,工程师打开界面,选择任意需要的UI区域拷贝走想要的代码即可,只是从原来看标注变成了直接拷贝代码。对于设计师来说,完全不需要遵循某些设计规范

    2022年4月19日
    110
  • 数据库常见面试题(附答案)

    数据库常见面试题(附答案)1.事务四大特性原子性,要么执行,要么不执行隔离性,所有操作全部执行完以前,其它会话不能看到过程一致性,事务前后,数据总额一致持久性,一旦事务提交,对数据的改变就是永久的2.数据库隔离级别,每个级别会引发什么问题,mysql默认是哪个级别脏读:事务B读取事务A还没有提交的数据不可重复读:两次事务读的数据不一致幻读:事务A修改了数据,事务B也修改了数据,这时在事务A看

    2022年5月2日
    77
  • 史上最新最全面的java大数据学习路线(新手小白必看版本)

    史上最新最全面的java大数据学习路线(新手小白必看版本)第一阶段:大数据基础Java语言基础阶段1.1:Java开发介绍1.1.1Java的发展历史1.1.2Java的应用领域1.1.3Java语言的特性1.1.4Java面向对象1.1.5Java性能分类1.1.6搭建Java环境1.1.7Java工作原理 1.2:熟悉Eclipse开发工具1.2.1Eclipse简介与下载1.2.2安…

    2022年5月28日
    34
  • 二叉树的最大深度和最小深度浅析

    二叉树的最大深度和最小深度浅析

    2021年9月15日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号