如何取得文件的完整路徑

LiangWu25 2003-10-22 11:28:28
我把*.X 文件的打開方式設為我的exe(VB做的),那么,在打開任意 *.X 文件的時候,都會打開我的exe,這時,希望能在exe主界面上顯示所打開 *.X 文件的全路徑及文件名(如:C:\..\desktop\X.X),請問該如何做到?謝謝!
...全文
30 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
rainstormmaster 2003-10-22
  • 打赏
  • 举报
回复
对于使用 Visual Basic 开发并编译为 .exe 文件的应用程序,VB提供了一个Command 函数,函数返回出现在命令行中应用程序名之后的任何参数。下面函数演示了如何获取参数的所有技术细节。
  Function GetCommandLine(Optional MaxArgs)
  ′声明变量。
  Dim C, CmdLine, CmdLnLen, InArg, I, NumArgs
  ′检查是否提供了 MaxArgs 参数。
  If IsMissing(MaxArgs) Then MaxArgs = 10
  ′ 使数组的大小合适。
  ReDim ArgArray(MaxArgs)
  NumArgs = 0: InArg = False
  ′取得命令行参数。
  CmdLine = Command()
  CmdLnLen = Len(CmdLine)
  ′以一次一个字符的方式取出命令行参数。
  For I = 1 To CmdLnLen
  C = Mid(CmdLine, I, 1) ′检测是否为 space 或 tab。
  If (C <> ″ ″ And C <> vbTab) Then
  ′若既不是 space 键,也不是 tab 键,则检测是否为参数内含之字符。
  If Not InArg Then
  ′新的参数。检测参数是否过多。
  If NumArgs = MaxArgs Then Exit For
  NumArgs = NumArgs + 1
  InArg = True
  End If
  ′将字符加到当前参数中。
  ArgArray(NumArgs) = ArgArray(NumArgs) + C
  Else
  ′找到 space 或 tab。将 InArg 标志设置成 False。
  InArg = False
  End If
  Next I
  ReDim Preserve ArgArray(NumArgs) ′调整数组大小使其刚好符合参数个数。
  GetCommandLine = ArgArray() ′将数组返回。
  End Function
LiangWu25 2003-10-22
  • 打赏
  • 举报
回复
謝謝各位,用Command是對的(我還找了不少API呢,都沒用).
實際上我不是改打開方式,而是直接在注冊表中修改該類型文件的Command值,因為改值時沒加上 "%1",所以開始打開時取不到文件名,現在改正了,謝謝!
hhjjhjhj 2003-10-22
  • 打赏
  • 举报
回复
Private Sub Form_Load()
MsgBox Command

End Sub
liaorui 2003-10-22
  • 打赏
  • 举报
回复
没有试过。

你试试app.path & 文件名 可以吗?

我没有试,不过我想这应该是程序的路径,文件的路径还真不知道怎么去搞。

帮你顶,关注~~~
LiangWu25 2003-10-22
  • 打赏
  • 举报
回复
我是指在VB的Form_Load過程中怎樣知到是哪個文件調用了我的這個exe呢?(再說清楚一點,我把*.ebk的文件的打開方式設為我的Exe,那么,用戶雙擊某個ebk文件時,我的exe自然被
打開了,我希望在exe的Form_load中知道是用戶雙擊的是哪個ebk文件)
mmcgzs 2003-10-22
  • 打赏
  • 举报
回复
command 就是文件的全路径

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧