标题:!!![求助]有关引用安装路径的问题
只看楼主
woshiyimao
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2007-8-29
结帖率:100%
 问题点数:0 回复次数:15 
!!![求助]有关引用安装路径的问题

重新整理问题:
本人今天写了一个东西(如果可以叫软件的话),其中有个功能是点击按钮察看指定路径(绝对路径)“资料”,因为本人利用SETUP FACTORY7.0做成了安装程序,所以考虑到不同的人会把它安装在不同的路径下,所以前面的“资料”的绝对路径可能造成错误,想把程序中的绝对路径改称能够获取安装路径的办法。特发此文以求正解,望指明,深表感谢。

答案:期待中……在线等。

[此贴子已经被作者于2007-9-1 8:35:05编辑过]

搜索更多相关主题的帖子: 路径 软件 特发 SETUP 
2007-08-31 15:16
simpson
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:863
专家分:17
注 册:2006-11-16
得分:0 
你的“引用的磁盘路径“ 是什么意思?

是绝对路径吗?

全国最大的 Java专业电子书免费分享[url]http:///in.asp?id=xrmao[/url]
2007-08-31 15:47
woshiyimao
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2007-8-29
得分:0 
在我的程序中是绝对路径,我想改成和安装路径一样,被难住,超菜,请帮助。

2007-08-31 15:49
woshiyimao
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2007-8-29
得分:0 
现在出现的问题就是必须安装在指定的磁盘下,否则就出错。我想应该可以在程序中指定安装程序的路径,这样就能解决了。

2007-08-31 15:51
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
得分:0 
试试运行时App.Path As String
2007-08-31 15:52
woshiyimao
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2007-8-29
得分:0 
您的意思是在安装程序运行时将安装路径付值,然后在程序中引用这个值么?

2007-08-31 15:55
woshiyimao
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2007-8-29
得分:0 
哪位大虾知道意思?请告诉我下,感谢万分.

2007-08-31 16:47
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
得分:0 
事实上你问题描述不清。
2007-08-31 18:46
woshiyimao
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2007-8-29
得分:0 
我只是想问,在程序中怎样引用安装路径,因为安装路径可能是变量,所有在这里有点搞不清楚。

2007-08-31 21:06
multiple19O2
Rank: 1
等 级:新手上路
帖 子:326
专家分:0
注 册:2007-8-29
得分:0 
以下是引用woshiyimao在2007-8-31 21:06:48的发言:
我只是想问,在程序中怎样引用安装路径,因为安装路径可能是变量,所有在这里有点搞不清楚。

如果你说的“安装路径”指的就是程序本身路径

App.Path很有用


Public Declare Function GetCommandLine Lib "kernel32" Alias "GetCommandLineA" () As Long
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (ByVal Destination As String, ByVal Source As Long, ByVal Length As Long)

Function sGetCommandLine() As String
' 获取本程序启动完整命令行
' 拓扑关系: 被 FUNC sGetAppExePathName()和 FUNC bArgExists() 依赖
Dim lRet As Long, sCmd As String
lRet = GetCommandLine
If lRet > 0 Then
sCmd = String(256, 32)
CopyMemory sCmd, lRet, Len(sCmd)
sCmd = Mid(sCmd, 1, InStr(1, sCmd, Chr(0)) - 1)
End If
sGetCommandLine = sCmd

' 关于API GetCommandLine() 的使用说明
' MSDN:
' The return value is a pointer to the command-line string for the current process.
' 返回字符串指针(指向当前命令行缓冲区的一个指针),并非字符串,API Viewer的声明是错误的。
' References:
' http://topic.csdn.net/t/20020410/17/636954.html

End Function

Function sGetAppExePathName() As String
' 得到应用程序完整路径
' 拓扑关系:依赖于 sGetCommandLine()
Dim sBufCmd As String, sResponse As String
sBufCmd = sGetCommandLine()
' 若完整命令行以半角双引号开始
If """" = Left(sBufCmd, 1) Then
Dim iPosPairQuot As Integer
iPosPairQuot = InStr(2, sBufCmd, """")
sResponse = Mid(sBufCmd, 2, iPosPairQuot - 2)
Else
' 若不存在半角双引号则路径中不包含空格,无需考虑空格的情形
Dim iPosSpace As Integer
iPosSpace = InStr(2, sBufCmd, " ")
sResponse = Left(sBufCmd, iPosSpace - 1)
End If
sGetAppExePathName = sResponse
End Function

2007-08-31 21:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-166796-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.326770 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved