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

    点击下载代码

  • 相关阅读:
    类目(分类)
    协议(Protocol)---实例
    OC 复合 组装电脑
    iOS--九宫格奥秘(UIView)(arc4random)
    字符串
    oc 字符串
    七星彩问题
    OC--第一个程序
    关于行内元素垂直居中的一个小小trick
    关于orgChart
  • 原文地址:https://www.cnblogs.com/jefflee/p/5868484.html
Copyright © 2011-2022 走看看