我用A程序TMEMORYSTREAM,加载一个应用程序B(一个解密后的应用程序),保存到硬盘上后用WINEXEC执行B,退出A,怎样使B在执行完后能自动删除B在硬盘上的文件?
或者如何直接运行TMEMORYSTREAM中的程序而不用先保存再运行?
请高手指点?300分奉上还有如何提取并存回应用程序图标?

解决方案 »

  1.   

    var
      SUInfo: TStartupInfo;
      ProcInfo: TProcessInformation;
    begin
      FillChar(SUInfo, SizeOf(SUInfo), 0);
      with SUInfo do
      begin
        cb := SizeOf(SUInfo);
        dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;
        wShowWindow := SW_SHOW;
      end;
      if CreateProcess(nil, PChar('g:\Project2.exe'), nil, nil, False,
        CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil,nil, SUInfo, ProcInfo) then
      begin
        WaitForSingleObject(ProcInfo.hProcess, INFINITE);
        CloseHandle(ProcInfo.hProcess);
        CloseHandle(ProcInfo.hThread);
        ShowMessage('Project2刚刚结束');
        //在这里删除文件
      end;————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
    end;