标题:请问:如何利用VB实现设定.exe文件的当前路径?(问题已解决)
只看楼主
fantasy_spz
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-8-21
结帖率:0
 问题点数:0 回复次数:7 
请问:如何利用VB实现设定.exe文件的当前路径?(问题已解决)
我在进行VB调用利用C语言,或是FORTRAN语言生成的.exe文件时,经常出现该.exe文件找不到它所需要调用的.exe文件,究其原因是因为当VB利用app.path时,会影响到.exe文件所默认的当前路径.
为了解决这一问题,我想能不能利用VB语句,来设定.exe文件所默认的当前路径,这样我把.exe文件运行时所需调用的参数文件就放在这个设定好的路径下面,就不会出现.exe文件运行时,找不到参数文件的错误了.
但我现在还不知道,怎样才能够利用VB语句来设定.exe文件所默认的当前路径,请高人指点,谢谢!

[[it] 本帖最后由 fantasy_spz 于 2008-9-30 21:11 编辑 [/it]]
搜索更多相关主题的帖子: exe 路径 文件 
2008-09-29 20:25
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
得分:0 
用ShellExecute这个API。
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
''''''''

 ShellExecute Me.hwnd, "Open", EXEPath, "", App.Path, 1
2008-09-29 20:57
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
得分:0 
倒数第二个参数大概是启动路径。
2008-09-29 20:58
fantasy_spz
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-8-21
得分:0 
我直接调用语句:ShellExecute Me.hwnd, "Open", EXEPath, "", App.Path, 1
并把App.Path改为我想设定的路径如:"E:\"
函数调用没有成功呀!
2008-09-30 10:32
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
得分:0 
Private Sub Command1_Click()
Dim exepath
exepath = "e:\WSockExpert.exe"
ShellExecute Me.hwnd, "Open", exepath, "", "e:\", 1
End Sub

我这么做的,反正启动起来了。

“函数调用”不成功,我不太理解到底是什么不成功。
2008-09-30 10:36
fantasy_spz
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-8-21
得分:0 
我在点击按钮运行时,出现错误对话框说:"编译错误,子程序或函数未定义",点击"确定"按钮后,语句:ShellExecute Me.hwnd, "Open", exepath, "", "e:\", 1中的"ShellExecute"的位置自动涂的黑色,请版主指教!
2008-09-30 11:02
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
得分:0 
[bo][un]fantasy_spz[/un] 在 2008-9-30 11:02 的发言:[/bo]

我在点击按钮运行时,出现错误对话框说:"编译错误,子程序或函数未定义",点击"确定"按钮后,语句:ShellExecute Me.hwnd, "Open", exepath, "", "e:\", 1中的"ShellExecute"的位置自动涂的黑色,请版主指教!

不会用API函数可以去学,这个无所谓。2楼回复的内容你就看到一行了?
2008-09-30 11:34
fantasy_spz
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-8-21
得分:0 
问题已解决,谢谢版主!
代码如下:
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Sub Command1_Click()
Dim exepath
exepath = App.Path & "\waveextract.exe"
ShellExecute Me.hwnd, "Open", exepath, "", "F:\", 1
End Sub
2008-09-30 21:10



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




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

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