现在不方便安装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没有作用。 希望指点。。
Private Const SW_SHOWNORMAL As Long = 1Private 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 Longsub main() ShellExecute 0, vbnullstring, "C:\dosbox\dosbox.exe", vbnullstring, "C:\dowbox\", SW_SHOWNORMAL end sub用CurDir()检查是否盘符不对,用ChDrive()更改。
帮个忙吧,谢谢你!
..........在SHELL后面加上命令不就完了
[code=INIFile]mount C: C:\dos\
CD C:\abc
abc.exe[/code]
希望指点。。
改用API的ShellExecute调用试试。
(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 Longsub 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"