如何使用createprocess
下面这句有错误吗?
Handle_QZJ:=CreateProcess(nil,PChar(StrPath),nil,nil,False,CREATE_NEW_CONSOLE,nil, nil,StartupInfo,ProcessInfo);
其中strpath是程序路径,
错误提示是:[Error] Unit_Main.pas(614): Incompatible types: 'Cardinal' and 'LongBool'

解决方案 »

  1.   

    Handle_QZJ的类型是什么?
    CreateProcess返回的值是boolean型
      

  2.   

    createProcess返回的不是句柄吗?
      

  3.   

    Function WinExecExW(cmd,workdir:pchar;visiable:integer):DWORD; 
    varStartupInfo:TStartupInfo;ProcessInfo:TProcessInformation;beginFillChar(StartupInfo,SizeOf(StartupInfo),#0);StartupInfo.cb:=SizeOf(StartupInfo);StartupInfo.dwFlags:=STARTF_USESHOWWINDOW;StartupInfo.wShowWindow:=visiable;if not CreateProcess(nil,cmd,nil,nil,false,Create_new_console or Normal_priority_class,nil,nil,StartupInfo,ProcessInfo) thenresult:=0elsebeginwaitforsingleobject(processinfo.hProcess,INFINITE);  //从这句我们可以看到,句柄是保存在ProcessInfo 这个结构的hProcess成员中的。。GetExitCodeProcess(ProcessInfo.hProcess,Result);end;end; 
      

  4.   

    Function WinExecExW(cmd,workdir:pchar;visiable:integer):DWORD; 
    varStartupInfo:TStartupInfo;ProcessInfo:TProcessInformation;beginFillChar(StartupInfo,SizeOf(StartupInfo),#0);StartupInfo.cb:=SizeOf(StartupInfo);StartupInfo.dwFlags:=STARTF_USESHOWWINDOW;StartupInfo.wShowWindow:=visiable;if not CreateProcess(nil,cmd,nil,nil,false,Create_new_console or Normal_priority_class,nil,nil,StartupInfo,ProcessInfo) thenresult:=0elsebeginwaitforsingleobject(processinfo.hProcess,INFINITE);  //从这句我们可以看到,句柄是保存在ProcessInfo 这个结构的hProcess成员中的。。GetExitCodeProcess(ProcessInfo.hProcess,Result);end;end; 
      

  5.   

    Drate(小虫)你好
    我想要的是程序窗体的句柄;因为我想控制它。