当前位置:编程学习 > VB >>

请问我用VB的shell打开dosbox.exe和直接双击打开dosbox.exe运行结果为什么不一样?

请问我用VB的shell打开dosbox.exe和直接双击打开dosbox.exe运行结果为什么不一样? --------------------编程问答-------------------- 会出现什么样的结果,说说看呢? --------------------编程问答-------------------- 是这样的,直接运行的话我可以在dosbox.conf里加入批处理命令行,并且运行成功,而用VB打开刚才说的批处理命令行就没有作用了,仅仅能打开dosbox.exe,又需要我逐步去输入批处理命令行。我试着将dosbox.conf删除,同样是刚才的结果,证明采用vb调用dosbox.exe时dosbox.conf是没有作用的。
   帮个忙吧,谢谢你! --------------------编程问答-------------------- 玩纯DOS游戏?
   ..........在SHELL后面加上命令不就完了

--------------------编程问答-------------------- 试着加了好几个命令,都没有用,我是有个软件需要在纯DOS下运行 --------------------编程问答-------------------- 我想解决这个问题的目的是:在VB界面下实现我那个纯DOS计算软件的功能,所以就找到了dosbox,用vb调用后,还是需要输一些命令才能完成此软件的计算,所以我就想采用一些VB语句进行批处理,但是多次尝试没有成功(试着像调用dos命令那样,没有成功),所以又想到用dosbox下的dosbox.conf进行批处理,没有想到直接运行此dosbox.exe的我批处理命令是可以实现的,但是采用VB调用又还是没有用,调用仅仅打开了dosbox.exe,而我的批处理部分没有作用。所以我希望各位帮帮忙,看看是怎么回事?是用vb语句实现我的命令有误呢,。。还是有其他实现方法呢?另外,此问题解决了,我用vb怎么知道或控制dosbox环境下运行完成的弹出窗口。谢谢各位啦! --------------------编程问答-------------------- 现在不方便安装DosBox,大致在dosbox.conf最后加上如下命令(假定软件的路径为D:\dos\abc\abc.exe)
[code=INIFile]mount C: C:\dos\
CD C:\abc
abc.exe[/code] --------------------编程问答-------------------- 可能是我没有表达清楚,这些命令我是会的,但是只能在dosbox里逐行输入,我现在希望用vb语句实现,或者用dosbox.conf输入批处理命令实现,但是用前一个方法,什么命令输进去都没有用(可能我用vb语句有问题,我用的是shell“c:\dosbox\dosbox.exe \   mount d d:\”),但是只能打开dosbox而后面的命令没有作用;而用第二种在dosbox.conf输入批处理命令本来已经可以完成啦,但是又只能直接双击dosbox.exe才能达到目的,而采用vb调用的结果是仅仅打开了dosbox.exe,刚才加的批处理命令又没有作用,就是将dosbox.conf删除,也是一样的效果,证明用vb调用dosbox.exe此时dosbox.conf没有作用。
   希望指点。。。。。 --------------------编程问答-------------------- 在启动对话框中输入c:\dosbox\dosbox.exe是否能执行dosbox.conf中的命令?
改用API的ShellExecute调用试试。 --------------------编程问答-------------------- 还有可以先试试Shell调用前用ChDir将当前目录定位到dosbox目录。 --------------------编程问答-------------------- 谢谢,我试试看哈, --------------------编程问答-------------------- 呵呵,API需要加载。。。呵呵,怎么用呀,我不会呢;第2种办法,ChDir "c:\dosbox\";Shell "dosbox.exe"。没有运行成功,说找不到文件,呵呵,我的命令有误? --------------------编程问答--------------------
Private Const SW_SHOWNORMAL As Long = 1

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

sub main()
    ShellExecute 0, vbnullstring, "C:\dosbox\dosbox.exe", vbnullstring, "C:\dowbox\", SW_SHOWNORMAL
end sub


用CurDir()检查是否盘符不对,用ChDrive()更改。 --------------------编程问答-------------------- 试试这样
Shell "cmd /c c: && cd dosbox && dosbox.exe" --------------------编程问答-------------------- 特别谢谢12楼主,已经成功,感谢各位!.....我会经常光临这里和请教大家的.....
补充:VB ,  基础类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,