例如:我写的一个文字处理程序。我关联应用程序后,双击文件名就用我的文字处理程序打开,现在我的问题是如何用C#来接受这个被打开文件的路径和文件名。我查过很多帮助都没有找到好的方法,请问那位可以帮我,用的是什么对象和函数。

解决方案 »

  1.   

    用System.IO.Path.GetFileName 和 System.IO.Path.GetFileNameWithoutExtension(无扩展名)的方法
      

  2.   

    Application.ExecutablePath
    应用程序的路径?
    你要的是这个吗?
    如果是打开文本的路径通过传值来处理吧。不太明白你的意思。
      

  3.   

    或Environment.GetCommandLineArgs方法得到参数字符串数组
      

  4.   

    我也遇到和你类似的问题:用OpenFileDialog 打开文件很容易,但是要获得它打开的文件夹的路径却没有办法这个问题没有高手可以解决了么?
      

  5.   

    关联之后, 双击时,系统自动将该文件的fullpath传入到程序入口点static void Main(string[] arg)
    {
    }你要提供一个带参数的main函数, 而那文件路径就会在参数里面了string filePath = arg[0];
      

  6.   

    当然你要检验一下,以便独立打开程序不出错
    if(arg.Length > 0)
       string filePath = arg[0];
      

  7.   

    "如何用C#来接受这个被打开文件的路径和文件名。"不太清楚这句话的含义, 如果你是想知道那文件的全路径(用来打开文件)
    则按我之前的方法
    如果你已经获得,而想再获得目录,文件名...更详细的信息则
    System.IO.Path.GetFileNam(filePath)   //返回带扩展名的文件名
    System.IO.Path.GetFileNameWithoutExtension(filePath)  //返回不带扩展名的文件名
    System.IO.Path.GetDirectoryName(filePath)  //返回文件所在目录
      

  8.   

    windboyzsj(落叶)正解
    关联之后, 双击时,系统自动将该文件的fullpath传入到程序入口点static void Main(string[] arg)
    {
    }你要提供一个带参数的main函数, 而那文件路径就会在参数里面了string filePath = arg[0];
      

  9.   

    openfiledislog1.FileName 文件路径
      

  10.   

    这样就能取到该文件的所在目录路径
    string path1 = System.IO.Path.GetDirectoryName(openFileDialog1.FileName) + @"\";
      

  11.   

    //获取当前进程的完整路径,包含文件名(进程名)。
    string str = this.GetType().Assembly.Location;
    result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)//获取新的 Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名)。
    string str = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
    result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)//获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。
    string str = System.Environment.CurrentDirectory;
    result: X:\xxx\xxx (.exe文件所在的目录)//获取当前 Thread 的当前应用程序域的基目录,它由程序集冲突解决程序用来探测程序集。
    string str = System.AppDomain.CurrentDomain.BaseDirectory;
    result: X:\xxx\xxx\ (.exe文件所在的目录+"\")//获取和设置包含该应用程序的目录的名称。
    string str = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
    result: X:\xxx\xxx\ (.exe文件所在的目录+"\")//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。
    string str = System.Windows.Forms.Application.StartupPath;
    result: X:\xxx\xxx (.exe文件所在的目录)//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。
    string str = System.Windows.Forms.Application.ExecutablePath;
    result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)//获取应用程序的当前工作目录(不可靠)。
    string str = System.IO.Directory.GetCurrentDirectory();
    result: X:\xxx\xxx (.exe文件所在的目录) 
      

  12.   

    openFileDialog1.FileName这句哪来的 ?
      

  13.   

    给出一个工程里面的一个文件名,如:result.txt
    如何获取它的文件路径?
      

  14.   

    System.IO.Path.GetFileNameWithoutExtension(无扩展名)的方法