如何获取exe自身所在路径

        获取自身所在路径有两种方法。

        第一种方法使用App.Path和App.EXEName来完成。代码如下:

        strpath = IIf(Right(App.Path, 1) = "/", App.Path, App.Path & "/") & App.EXEName & ".exe"

这样看起来是不是比较乱?没事,改写成这样就比较清楚了。代码如下:

        If Right(App.Path, 1) = "/" Then
            strpath1 = App.Path & App.EXEName & ".exe"
        Else
            strpath1 = App.Path & "/" & App.EXEName & ".exe"
       End If

这样看起来是不是清楚多了。

       第二种方法使用API函数,函数名是GetModuleFileName,函数声明:

       Declare Function GetModuleFileName Lib "kernel32" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long

说明:获取一个已装载模板的完整路径名称
返回值:Long,如执行成功,返回复制到lpFileName的实际字符数量;零表示失败。
参数表
参数                   类型及说明
hModule           Long,一个模块的句柄。可以是一个DLL模块,或者是一个应用程序的实例句柄
lpFileName     String,指定一个字串缓冲区,要在其中容纳文件的用NULL字符中止的路径名,hModule               模块就是从这个文件装载进来的
nSize                Long,装载到缓冲区lpFileName的最大字符数量

函数GetModuleFileName介绍完了。接着继续我们的第二种方法。代码如下:

       Dim strpath As String    'strpath保存自身的路径
       strpath = Space(256)
       GetModuleFileName 0, strpath, 256


       这就是获取自身所在路径的两种方法。

       我是新手,请赐教!

你可能感兴趣的:(VB)