zoukankan      html  css  js  c++  java
  • C#获取程序执行路径的几种方法

    通过控制台程序打印出每种方法的结果

    static void Main(string[] args)
            {
                
                Console.WriteLine("typeof(Program).Assembly.Location:
    {0}", typeof(Program).Assembly.Location);
                Console.WriteLine("");
    
                Console.WriteLine("Process.GetCurrentProcess().MainModule.FileName:
    {0}", Process.GetCurrentProcess().MainModule.FileName);
                Console.WriteLine("");
    
                Console.WriteLine("Environment.CurrentDirectory:
    {0}", Environment.CurrentDirectory);
                Console.WriteLine("");
    
                Console.WriteLine("AppDomain.CurrentDomain.BaseDirectory:
    {0}", AppDomain.CurrentDomain.BaseDirectory);
                Console.WriteLine("");
    
    
                Console.WriteLine("AppDomain.CurrentDomain.SetupInformation.ApplicationBase:
    {0}", AppDomain.CurrentDomain.SetupInformation.ApplicationBase);
                Console.WriteLine("");
    
    
    
                Console.Read();
            }

    通过另一个程序启动的代码

            static void Main(string[] args)
            {
                String path = "..\..\..\TestExecutePath\bin\Debug\TestExecutePath.exe";
                Console.WriteLine("准备启动:"+path);
    
                try
                {
                    Process.Start(path);
                    Console.WriteLine("启动成功");
                }
                catch(Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
    
                Console.Read();
            }

    通过其他程序启动的运行结果:

    typeof(Program).Assembly.Location:
    C:UsersAdministratorDocumentsVisual Studio 2015ProjectsTestExecutePathTes
    tExecutePathinDebugTestExecutePath.exe

    Process.GetCurrentProcess().MainModule.FileName:
    C:UsersAdministratorDocumentsVisual Studio 2015ProjectsTestExecutePathTes
    tExecutePathinDebugTestExecutePath.exe

    Environment.CurrentDirectory:
    C:UsersAdministratorDocumentsVisual Studio 2015ProjectsTestExecutePathTes
    tExecutePath.StartupinDebug

    AppDomain.CurrentDomain.BaseDirectory:
    C:UsersAdministratorDocumentsVisual Studio 2015ProjectsTestExecutePathTes
    tExecutePathinDebug

    AppDomain.CurrentDomain.SetupInformation.ApplicationBase:
    C:UsersAdministratorDocumentsVisual Studio 2015ProjectsTestExecutePathTes
    tExecutePathinDebug

    直接运行结果:(注意不是通过点击调试运行)

    typeof(Program).Assembly.Location:
    C:UsersAdministratorDocumentsVisual Studio 2015ProjectsTestExecutePathTes
    tExecutePathinDebugTestExecutePath.exe

    Process.GetCurrentProcess().MainModule.FileName:
    C:UsersAdministratorDocumentsVisual Studio 2015ProjectsTestExecutePathTes
    tExecutePathinDebugTestExecutePath.exe

    Environment.CurrentDirectory:
    C:UsersAdministratorDocumentsVisual Studio 2015ProjectsTestExecutePathTes
    tExecutePathinDebug

    AppDomain.CurrentDomain.BaseDirectory:
    C:UsersAdministratorDocumentsVisual Studio 2015ProjectsTestExecutePathTes
    tExecutePathinDebug

    AppDomain.CurrentDomain.SetupInformation.ApplicationBase:
    C:UsersAdministratorDocumentsVisual Studio 2015ProjectsTestExecutePathTes
    tExecutePathinDebug

    点击下载代码

  • 相关阅读:
    javascript中的console.log有什么作用?
    在线js调试工具JSbin、jsFiddle
    mysql下的将多个字段名的值复制到另一个字段名中(批量更新数据)字符串拼接cancat实战例子
    处理内容有&特殊字符thinkphp返回xml无法解析的问题<![CDATA[xxx]]>
    checkbox的readonly不起作用的解决方案
    jquery-easyui combobox combogrid 级联不可编辑实例
    表格行的全选与单选
    表格与ckeckbox的全选与单选
    隐藏与显示铵钮
    判断字符是否包含有特殊字符
  • 原文地址:https://www.cnblogs.com/jefflee/p/5868484.html
Copyright © 2011-2022 走看看