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

    点击下载代码

  • 相关阅读:
    Csharp: create Transparent Images in winform
    HTML5:Subway Map Visualization jQuery Plugin(示例畫深圳地鐵線路圖)
    sql 语句 查询 sql server 主键!
    面向对象学习
    聚类算法学习笔记(一)——基础
    oracle 会话以及处理数
    java.util.Calendar常量字段值
    java连接sql时候,获取表格各列属性
    Oracle 动态SQL返回单条结果和结果集
    Oracle数据库数据字典学习
  • 原文地址:https://www.cnblogs.com/jefflee/p/5868484.html
Copyright © 2011-2022 走看看