- 'API関数:进程ID→进程句柄生成
- 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
- ''' <summary>
- ''' 应用程序启动
- ''' </summary>
- ''' <param name="AppFileName">启动应用程序名</param>
- ''' <param name="DataFileName">数据文件名</param>
- ''' <remarks>本地应用程序启动,调用模版文件,并导入数据</remarks>
- Public Sub RunAPP(ByVal AppFileNameAs String, ByVal DataFileName As String)
- Try
- Dim vIDProcess As Long
- Dim vhProcess As Long
- Dim vRet As Long
- '应用程序vAppEXE的启动路径
- vIDProcess = Shell(vAppEXE & " -c " & ConfFileName & " -d " & DataFileName, 1)
- vhProcess = OpenProcess(&H100000, 1, vIDProcess)
- '程序从启动到结束,一直处于待机状态。(32bit版)
- 'WaitForSingleObject执行、程序处于挂起状态
- vRet = WaitForSingleObject(vhProcess, &HFFFF)
- vRet = CloseHandle(vhProcess)
- Catch ex As Exception
- If ex.InnerException Is Nothing Then
- Dim vstrMsg As String = "程序启动错误" & "(" & ex.Message & ")"
- Throw New Exception(vstrMsg, ex)
- Else
- Throw ex
- End If
- End Try
- End Sub
vb.net启动本地程序,并读入数据的实现方法
最新推荐文章于 2021-07-31 09:23:49 发布