急!!请问怎么实现对DOS可执行文件的调用(在win98-2,VB6.0中文里)

giagia 2000-05-26 07:45:00
我在编程时要用到Fortran(3.3)编译程序-for1.exe,for2.exe,link.exe。使用
了几个函数和Windows API都不能解决。
使用GetMoudleUsage()函数,却发现win98中已没有kernel.dll.使用其它一些
函数在调用windows程序时没有问题,却不能使Fortran 编译程序"for1.exe"正
常工作。
请问各位高手该怎么做。我听说使用API openprocess()和GetExitcodeprocess
可以实现,却对此不太熟悉。请各位高手帮帮忙。多谢了!!!
...全文
105 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jackyin 2001-04-26
  • 打赏
  • 举报
回复
good
ml_zhang 2000-05-26
  • 打赏
  • 举报
回复
没错,用openprocess()可完全解决你的问题,因为我也调用过fortran程序。
程序代码如下,用了之后,可别忘了给分啊。
Private Declare Function OpenProcess Lib "kernel32" _
(ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" _
(ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" _
(ByVal hObject As Long) As Long

Const INFINITE = &HFFFF
Const PROCESS_QUERY_INFORMATION = &H400
Private hProcess As Long
Private ExitEvent As Long

Public Sub CalDosExe()
dim Pid
Pid = Shell(YourDosFileName, vbNormalNoFocus)
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, 0, Pid)
ExitEvent = WaitForSingleObject(hProcess, INFINITE)
Call CloseHandle(hProcess)
End Sub

7,765

社区成员

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

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