先声明Private Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" (ByVal lpApplicationName As String, ByVal lpCommandLine As String, ByVal lpProcessAttributes As SECURITY_ATTRIBUTES, ByVal lpThreadAttributes As SECURITY_ATTRIBUTES, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, ByVal lpEnvironment As Any, ByVal lpCurrentDriectory As String, ByVal lpStartupInfo As STARTUPINFO, ByVal lpProcessInformation As PROCESS_INFORMATION) As Long为什么他说我没有定义 Any ,PROCESS_INFORMARION ,STARTUPINFO 这些变量用不成这个API啊。应该包含什么文件才能把这些变量类型弄进来。。
第一次用VB忘大家解决一下。全部代码如下(VB.NET) Private Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" (ByVal lpApplicationName As String, ByVal lpCommandLine As String, ByVal lpProcessAttributes As SECURITY_ATTRIBUTES, ByVal lpThreadAttributes As SECURITY_ATTRIBUTES, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, ByVal lpEnvironment As Any, ByVal lpCurrentDriectory As String, ByVal lpStartupInfo As STARTUPINFO, ByVal lpProcessInformation As PROCESS_INFORMATION) As Long
    
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickEnd Sub

解决方案 »

  1.   

    这些类型需要用户自定义吧
    typedef struct _PROCESS_INFORMATION {  HANDLE hProcess;  HANDLE hThread;  DWORD dwProcessId;  DWORD dwThreadId;
    } PROCESS_INFORMATION;typedef struct _STARTUPINFO {  DWORD cb;  LPTSTR lpReserved;  LPTSTR lpDesktop;  LPTSTR lpTitle;  DWORD dwX;  DWORD dwY;  DWORD dwXSize;  DWORD dwYSize;  DWORD dwXCountChars;  DWORD dwYCountChars;  DWORD dwFillAttribute;  DWORD dwFlags;  WORD wShowWindow;  WORD cbReserved2;  LPBYTE lpReserved2;  HANDLE hStdInput;  HANDLE hStdOutput;  HANDLE hStdError;
    } STARTUPINFO, *LPSTARTUPINFO;忘了VB怎么自定义数据了,不好意思,Any是一个任意数据,不知道怎么定义,不过我想把他的类型改成int,传替实参时用0也可以吧,学习中......
      

  2.   

    Private Type PROCESS_INFORMATION
             hProcess As Long
             hThread As Long
             dwProcessId As Long
             dwThreadId As Long
          End Type      Private 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
      

  3.   

    参考微软的How-to:How To Launch a Win32 Application from Visual Basic
    http://support.microsoft.com/kb/q129797/