获取程序工作路径的方法

转载 2006年06月05日 18:14:00
获取程序工作路径的方法
(作者:段炼 2000年10月08日 10:32)

  我们知道,应用程序完成诸如文件读写这样的功能时通常需要先取得应用程序的当前工作路径,而不同用户系统中程序安装路径往往各异。因此,获取程序工作路径的方法在实际编程中是很有用的,不同的编程语言对此提供了不同的方法。



Visual Basic(VB)
  VB中通过App关键字来实现的对程序全局对象的访问,App对象的Path属性直接指出了应用程序的工作路径。

  例如,下面的代码实现在程序运行中PictureBox控件动态加载位于工作目录的image子目录下的图像文件picture1.gif :

FilePosition = App.Path & "/image/picture1.gif"

Picture1.Picture = LoadPicture(FilePosition)



Visual C++ (VC)
  MFC似乎并没有直接提供取得应用程序工作路径的方法,但在VC中可以简单使用C语言中的getcwd函数(在<direct.h>中说明)来取工作路径。

  例如:

char buffer[_MAX_PATH];

if(_getcwd(buffer,_MAX_PATH)==NULL)

cout<< "_getcwd error"<<"/n";

else

cout<<buffer<<"/n";

  输出为工作路径:

     E:/PathInfo/Debug



Delphi
  在Delphi中,调用函数ParamStr(0)可以取得可执行文件的完整路径信息(工作路径加可执行文件名),再调用ExtractFileDir或ExtractFilePath函数即可提取出应用程序工作目录或路径。例如:

   label1.caption:=ExtractFileDir(ParamStr(0));

   label2.caption:=ExtractFilePath(ParamStr(0));

  其显示结果分别为:

   E:/PathInfo

   E:/PathInfo/



C++Builder(BCB)
  C++Builder完全兼容ANSI C、C++,因而同VC一样,我们也可以调用C语言中的getcwd函数来取工作路径。此外,BCB语言还提供了如ParamStr()、ExtractFilePath等与Delphi一致的函数,我们只需将Delphi中的"."改为BCB中的"->"即可同样使用。例如,在Label1中显示工作路径:

  Label1->Caption=ExtractFilePath(ParamStr(0));

  需注意的只是BCB区别大小写而Delphi不区别大小写。



Java (JDK、VJ++、JBuilder等)
  在跨平台语言Java中,有关Application的全局信息放置在一个Properties(Hashtable类的一个子类)对象中,键"user.dir"所对应的值即工作路径。通过System.getProperty("user.dir")即可取得Application工作路径字符串。

  例如:

  public class Class1

  {

  public static void main (String[] args)

  {

  System.out.println(System.getProperty("user.dir") );

  }

  }

  控制台输出:

   E:/PathInfo

VS 工程项目中用于获取当前项目根目录的方法

在VS中定位当前工程项目的根目录! 涉及到: #include 头文件中的GetCurrentDirectory()方法和GetModuleFileName()方法。 file_manager.h #...
  • hbtj_1216
  • hbtj_1216
  • 2017年03月12日 14:18
  • 1402

使用activiti工作流引擎显示流程图时高亮显示流程图中已执行节点和已执行路径方法(AutoEE_V2实现方式)

1 AutoEE-自动智能开发平台   AutoEE-自动智能快速开发平台官网:http://www.autoee.org   最新版本:AutoEE_V3.0.4 ...
  • heishuang
  • heishuang
  • 2015年11月02日 10:18
  • 1999

C++ 获取当前项目Debug中文件的路径(GetModuleFileName())

1.函数原型:   DWORD GetModuleFileName(   HMODULE hModule,   LPTSTR lpFilename,   DWORD n...
  • yimengchenxi
  • yimengchenxi
  • 2015年06月24日 16:12
  • 3236

精彩编程与编程技巧-获取程序工作路径的方法...

  • 2009年10月09日 23:02
  • 2KB
  • 下载

一起talk C栗子吧(第五十八回:C语言实例--获取程序当前的工作路径)

各位看官们,大家好,上一回中咱们说的是main函数参数的例子,这一回咱们说的例子是:获取程序当前 的工作路径。闲话休提,言归正转。让我们一起talk C栗子吧! 我们在工作的时候,有时候需要获...
  • talk_8
  • talk_8
  • 2015年11月05日 22:58
  • 1752

C#中获取程序当前路径的方法.txt

  • 2012年09月26日 18:34
  • 2KB
  • 下载

C#获取程序路径的方法 中需要注意的地方

  • 2013年10月12日 10:48
  • 2KB
  • 下载

使用activiti工作流引擎显示流程图时高亮显示流程图中已执行节点和已执行路径方法源代码

  • 2015年11月02日 10:43
  • 13KB
  • 下载

C#获取当前程序运行路径的方法集合

//获取当前进程的完整路径,包含文件名(进程名)。 string str = this.GetType().Assembly.Location; result: X:\xxx\xxx\xxx.exe ...
  • ainixiaozhuzi
  • ainixiaozhuzi
  • 2014年03月04日 22:24
  • 2726

获取程序启动路径的几种方法(c#)

string str1 =Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名。 string str2=Envir...
  • wzdark
  • wzdark
  • 2012年09月28日 12:48
  • 586
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:获取程序工作路径的方法
举报原因:
原因补充:

(最多只允许输入30个字)