sesinputmanager调用ses

9 篇文章 0 订阅

vb代码如下:

Private Sub MR_Curr_Click()
Dim ss$, ss1$, ss2$, PId As Long, PHandle As Long, PStat As Long
Dim TermCode As Long
Dim msg1 As String, MsgFlag As Integer, istat As Integer
    MF_Save_Click   ' save the current file
    Close #1        ' close it
    ss$ = App.Path & "\ses41.exe " & """" & SESFile & """"
    ' EXECUTE SES
    Err.Clear
    frmMain.MousePointer = vbHourglass
    PId = Shell(ss$, 4)
    If Err.Number > 0 Then
     MsgBox "Error Number" & Str(Err.Number) & _
          vbCrLf & Err.Description & _
          vbCrLf & "Executing " & ss$
     Err.Clear
     GoTo RunErr
    End If
    PHandle = OpenProcess(PROCESS_QUERY_INFORMATION, False, PId)
    If Err.Number > 0 Then
         MsgBox "Error Number" & Str(Err.Number) & _
             vbCrLf & Err.Description & _
             vbCrLf & "Getting Process handle"
         Err.Clear
    End If
    ' Wait for SES to complete
    Do
        GetExitCodeProcess PHandle, PStat
        DoEvents
        Sleep 2000
    Loop While (PStat = STILL_ACTIVE)
    TermCode = PStat
    ' PStat = TerminateProcess(PHandle, 0&)
    ' PStat = CloseHandle(PHandle)
    PStat = CloseHandle(PHandle)
    MsgFlag = 64
    Select Case TermCode
    Case 0
        msg1 = "Run Completed" & vbCrLf & "Status Unknown"
    Case 100
        msg1 = "Run Completed Successfully"
    Case 99
        msg1 = "Input Verification Successful"
    Case 1 To 14
        msg1 = "Failed Input Verification" & vbCrLf & "In Form " & Str(TermCode)
    Case 15
        msg1 = "Simulation Failed"
    Case 16
        msg1 = "Heat Sink Analysis Failed"
    Case 101
        msg1 = "Error Opening" & vbCrLf & "Input File" & vbCrLf & SESFile
    Case 102
        msg1 = "Error Opening" & vbCrLf & "Temporary Output File"
    Case 103
        msg1 = "Error Opening" & vbCrLf & "Restart Input File"
    Case 104
        msg1 = "Error Opening" & vbCrLf & "Restart Output File"
    Case 105
        msg1 = "Error ReOpening" & vbCrLf & "Temporary Output File" & vbCrLf & "for Input"
    Case 106
        msg1 = "Error Opening" & vbCrLf & "Formatted Output File"
    Case Else
        msg1 = "Execution Failed" & vbCrLf & "Exit Code: " & Str(TermCode)
        MsgFlag = 16
    End Select
    MsgFlag = MsgFlag + 4
    istat = MsgBox(msg1 & vbCrLf & "Review Listing?", MsgFlag, "Run Status")
    If istat = vbYes Then
        istat = Len(SESFile) - 3
        If Mid$(SESFile, istat, 1) = "." Then
            ss1$ = Left(SESFile, istat) + "tmp"
            ss2$ = Left(SESFile, istat) + "prn"
        Else
            ss1$ = SESFile + ".tmp"
            ss2$ = SESFile + ".prn"
        End If
        On Error Resume Next
        Open ss1$ For Input As #88
        If Err.Number = 0 Then
            Close #88
            Shell "notepad " & ss1$, 1
        Else
            Shell "notepad " & ss2$, 1
        End If
    End If
RunErr:
    frmMain.MousePointer = vbDefault
    
End Sub

Private Sub MV_Reset_Click()
    frmMain.Move (Screen.Width - iDgnW) / 2, (Screen.Width - iDgnW) / 2, iDgnW, iDgnH
    TheFont = ""
    TheFontSize = 0
    
End Sub

Private Sub tbDgnHr_Change()
    Changed = True
    
End Sub


采用java语言调用时exe文件时,应将命令中的空格替换掉

cmd= cmd.replaceAll(" ","\" \"");	          
rt = Runtime.getRuntime();
proc = rt.exec("cmd /c   " + cmd, null, dir);
	          



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值