没有,它停在GetMethodValueAt上,我加了use shellapi也不行

解决方案 »

  1.   

    function WinExecAndWait32(FileName:String; Visibility : 
    integer):integer; 
    var 
    zAppName:array[0..512] of char; 
    zCurDir:array[0..255] of char; 
    WorkDir:String; 
    StartupInfo:TStartupInfo; 
    ProcessInfo:TProcessInformation; 
    begin 
    StrPCopy(zAppName,FileName); 
    GetDir(0,WorkDir); 
    StrPCopy(zCurDir,WorkDir); 
    FillChar(StartupInfo,Sizeof(StartupInfo),#0); 
    StartupInfo.cb := Sizeof(StartupInfo); StartupInfo.dwFlags := STARTF_USESHOWWINDOW; 
    StartupInfo.wShowWindow := Visibility; 
    if not CreateProcess(nil, 
    zAppName, { pointer to command line string } 
    nil, { pointer to process security 
    attributes } 
    nil, { pointer to thread security 
    attributes } 
    false, { handle inheritance flag } 
    CREATE_NEW_CONSOLE or { creation flags } 
    NORMAL_PRIORITY_CLASS, 
    nil, { pointer to new environment block } 
    nil, { pointer to current directory name } 
    StartupInfo, { pointer to STARTUPINFO } 
    ProcessInfo) then Result := -1 { pointer to PROCESS_INF } else begin 
    WaitforSingleObject(ProcessInfo.hProcess,INFINITE); 
    GetExitCodeProcess(ProcessInfo.hProcess,Result); 
    end; 
    end;