vb编程的三种错误,语法错误、实时错误和逻辑错误
1、语法错误 如:拼写错误、标点符号遗漏、使用的语法格式不正确 
2、实时错误 应用程序运行期间,一条语句试图调用执行一条不可能执行的操作而造成的 例:除数为零、数组下标越界 
3、程序运行后,结果与预期设想不一样Private Sub Command1_Click()  On Error Resume Next
  Dim si As STARTUPINFO '该结构用于指定新进程的主窗口特性
  Dim pi As PROCESS_INFORMATION '在创建进程时相关的数据结构之一,该结构返回有关新进程及其主线程的信息  Dim sa As SECURITY_ATTRIBUTES
  Dim strResult As String ''returned results of the command line
  With sa
  .nLength = Len(sa)
  .bInheritHandle = 1& ''inherit, needed for this to work
  .lpSecurityDescriptor = 0
  End With
  With si
  .cb = Len(si)
  .dwFlags = STARTF_USESTDHANDLES Or STARTF_USESHOWWINDOW ''tell it to use (not ignore) the values below
  .wShowWindow = SW_HIDE
  .hStdOutput = hWrite ''pass the write end of the pipe as the processes standard output
  End With
  Dim Hwind As Long
  Dim FHandle As Long
  Dim SM As Long
  retval = CreateProcess("VB6.EXE", "vb6.EXE D:\vb实例\工程1.vbp", sa, sa, 1&, NORMAL_PRIORITY_CLASS, ByVal 0&, vbNullString, si, pi)
end sub  
模块中的声明
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Public Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Public Declare Function CreatePipe Lib "kernel32" (phReadPipe As Long, phWritePipe As Long, lpPipeAttributes As SECURITY_ATTRIBUTES, ByVal nSize As Long) As Long
Public Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, lpOverlapped As OVERLAPPED) As Long
Public Declare Function GetForegroundWindow Lib "user32" () As Long
'获取当前窗口的句柄
Public Declare Function EnumChildWindows Lib "user32" (ByVal hWndParent As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
'枚举一个父窗口的所有子窗口
Public Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
'GetExitCodeProcess函数获得VB应用程序的退出环境
Public Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As LongPublic Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
'获得窗体句柄
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
'发送消息
Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
'获得按钮句柄
Public Type STARTUPINFO
  cb As Long
  lpReserved As String
  lpDesktop As String
  lpTitle As String
  dwX As Long
  dwY As Long
  dwXSize As Long
  dwYSize As Long
  dwXCountChars As Long
  dwYCountChars As Long
  dwFillAttribute As Long
  dwFlags As Long
  wShowWindow As Integer
  cbReserved2 As Integer
  lpReserved2 As Long
  hStdInput As Long
  hStdOutput As Long
  hStdError As Long
End Type
Public Type PROCESS_INFORMATION
  hProcess As Long
  hThread As Long
  dwProcessId As Long
  dwThreadId As Long
End Type
Public Type SECURITY_ATTRIBUTES
  nLength As Long
  lpSecurityDescriptor As Long
  bInheritHandle As Long
End TypePublic Type OVERLAPPED
  Internal As Long
  InternalHigh As Long
  offset As Long
  OffsetHigh As Long
  hEvent As Long
End Type
Public Const NORMAL_PRIORITY_CLASS = &H20
Public Const STARTF_USESTDHANDLES = &H100
Public Const STARTF_USESHOWWINDOW = &H1
Public Const SW_HIDE = 0&
Public Const SW_NORMAL = 1
Public Const INFINITE = &HFFFF ' Infinite timeout
Public Declare Function WinExec Lib "kernel32" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long新的进程是创建了,但是怎样发送F5消息,使学生的程序在后台运行起来 ,如果学生程序中有错误怎样捕获程序中的错误?而且不会因为这样的错误是下面的语句接着运行?谢谢高手、大侠、老师给点程序