+++++40000 文字、 って、すごい。 制限が、、、で、つづきをUP

 この、 OL タグの、リストが、 Winmain.cpp ファイルで、最後に、ボディタグ、Hタグついてる。

 前のページの、後半部分、ちょっと、消したので、 うごかないかも~だけど、

 スクリプト、内。 かっこ、({ の対 が、無いえら~だとおもう

====

?Lol id="L1"R?

?Lli id="PgL0"R?// Main.cpp?L/liR??Lli id="PgL1"R??L/liR??Lli id="PgL2"R?#include "StdAfx.h"?L/liR??Lli id="PgL3"R??L/liR??Lli id="PgL4"R?#include "../../../Common/MyWindows.h"?L/liR??Lli id="PgL5"R??L/liR??Lli id="PgL6"R?#include "../../../Common/MyInitGuid.h"?L/liR??Lli id="PgL7"R??L/liR??Lli id="PgL8"R?#include "../../../Common/CommandLineParser.h"?L/liR??Lli id="PgL9"R?#include "../../../Common/StringConvert.h"?L/liR??Lli id="PgL10"R?#include "../../../Common/TextConfig.h"?L/liR??Lli id="PgL11"R??L/liR??Lli id="PgL12"R?#include "../../../Windows/DLL.h"?L/liR??Lli id="PgL13"R?#include "../../../Windows/ErrorMsg.h"?L/liR??Lli id="PgL14"R?#include "../../../Windows/FileDir.h"?L/liR??Lli id="PgL15"R?#include "../../../Windows/FileFind.h"?L/liR??Lli id="PgL16"R?#include "../../../Windows/FileIO.h"?L/liR??Lli id="PgL17"R?#include "../../../Windows/FileName.h"?L/liR??Lli id="PgL18"R?#include "../../../Windows/NtCheck.h"?L/liR??Lli id="PgL19"R?#include "../../../Windows/ResourceString.h"?L/liR??Lli id="PgL20"R??L/liR??Lli id="PgL21"R?#include "../../UI/Explorer/MyMessages.h"?L/liR??Lli id="PgL22"R??L/liR??Lli id="PgL23"R?#include "ExtractEngine.h"?L/liR??Lli id="PgL24"R??L/liR??Lli id="PgL25"R?#include "../../../../C/DllSecur.h"?L/liR??Lli id="PgL26"R??L/liR??Lli id="PgL27"R?#include "resource.h"?L/liR??Lli id="PgL28"R??L/liR??Lli id="PgL29"R?using namespace NWindows;?L/liR??Lli id="PgL30"R?using namespace NFile;?L/liR??Lli id="PgL31"R?using namespace NDir;?L/liR??Lli id="PgL32"R??L/liR??Lli id="PgL33"R?HINSTANCE g_hInstance;?L/liR??Lli id="PgL34"R??L/liR??Lli id="PgL35"R?static CFSTR kTempDirPrefix = FTEXT("7zS");?L/liR??Lli id="PgL36"R??L/liR??Lli id="PgL37"R?#define _SHELL_EXECUTE?L/liR??Lli id="PgL38"R??L/liR??Lli id="PgL39"R?static bool ReadDataString(CFSTR fileName, LPCSTR startID,?L/liR??Lli id="PgL40"R?    LPCSTR endID, AString &stringResult)?L/liR??Lli id="PgL41"R?{?L/liR??Lli id="PgL42"R?  stringResult.Empty();?L/liR??Lli id="PgL43"R?  NIO::CInFile inFile;?L/liR??Lli id="PgL44"R?  if (!inFile.Open(fileName))?L/liR??Lli id="PgL45"R?    return false;?L/liR??Lli id="PgL46"R?  const int kBufferSize = (1 << 12);?L/liR??Lli id="PgL47"R??L/liR??Lli id="PgL48"R?  Byte buffer[kBufferSize];?L/liR??Lli id="PgL49"R?  int signatureStartSize = MyStringLen(startID);?L/liR??Lli id="PgL50"R?  int signatureEndSize = MyStringLen(endID);?L/liR??Lli id="PgL51"R?  ?L/liR??Lli id="PgL52"R?  UInt32 numBytesPrev = 0;?L/liR??Lli id="PgL53"R?  bool writeMode = false;?L/liR??Lli id="PgL54"R?  UInt64 posTotal = 0;?L/liR??Lli id="PgL55"R?  for (;;)?L/liR??Lli id="PgL56"R?  {?L/liR??Lli id="PgL57"R?    if (posTotal > (1 << 20))?L/liR??Lli id="PgL58"R?      return (stringResult.IsEmpty());?L/liR??Lli id="PgL59"R?    UInt32 numReadBytes = kBufferSize - numBytesPrev;?L/liR??Lli id="PgL60"R?    UInt32 processedSize;?L/liR??Lli id="PgL61"R?    if (!inFile.Read(buffer + numBytesPrev, numReadBytes, processedSize))?L/liR??Lli id="PgL62"R?      return false;?L/liR??Lli id="PgL63"R?    if (processedSize == 0)?L/liR??Lli id="PgL64"R?      return true;?L/liR??Lli id="PgL65"R?    UInt32 numBytesInBuffer = numBytesPrev + processedSize;?L/liR??Lli id="PgL66"R?    UInt32 pos = 0;?L/liR??Lli id="PgL67"R?    for (;;)?L/liR??Lli id="PgL68"R?    {?L/liR??Lli id="PgL69"R?      if (writeMode)?L/liR??Lli id="PgL70"R?      {?L/liR??Lli id="PgL71"R?        if (pos > numBytesInBuffer - signatureEndSize)?L/liR??Lli id="PgL72"R?          break;?L/liR??Lli id="PgL73"R?        if (memcmp(buffer + pos, endID, signatureEndSize) == 0)?L/liR??Lli id="PgL74"R?          return true;?L/liR??Lli id="PgL75"R?        char b = buffer[pos];?L/liR??Lli id="PgL76"R?        if (b == 0)?L/liR??Lli id="PgL77"R?          return false;?L/liR??Lli id="PgL78"R?        stringResult += b;?L/liR??Lli id="PgL79"R?        pos++;?L/liR??Lli id="PgL80"R?      }?L/liR??Lli id="PgL81"R?      else?L/liR??Lli id="PgL82"R?      {?L/liR??Lli id="PgL83"R?        if (pos > numBytesInBuffer - signatureStartSize)?L/liR??Lli id="PgL84"R?          break;?L/liR??Lli id="PgL85"R?        if (memcmp(buffer + pos, startID, signatureStartSize) == 0)?L/liR??Lli id="PgL86"R?        {?L/liR??Lli id="PgL87"R?          writeMode = true;?L/liR??Lli id="PgL88"R?          pos += signatureStartSize;?L/liR??Lli id="PgL89"R?        }?L/liR??Lli id="PgL90"R?        else?L/liR??Lli id="PgL91"R?          pos++;?L/liR??Lli id="PgL92"R?      }?L/liR??Lli id="PgL93"R?    }?L/liR??Lli id="PgL94"R?    numBytesPrev = numBytesInBuffer - pos;?L/liR??Lli id="PgL95"R?    posTotal += pos;?L/liR??Lli id="PgL96"R?    memmove(buffer, buffer + pos, numBytesPrev);?L/liR??Lli id="PgL97"R?  }?L/liR??Lli id="PgL98"R?}?L/liR??Lli id="PgL99"R??L/liR??Lli id="PgL100"R?static char kStartID[] = { ',','!','@','I','n','s','t','a','l','l','@','!','U','T','F','-','8','!', 0 };?L/liR??Lli id="PgL101"R?static char kEndID[]   = { ',','!','@','I','n','s','t','a','l','l','E','n','d','@','!', 0 };?L/liR??Lli id="PgL102"R??L/liR??Lli id="PgL103"R?struct CInstallIDInit?L/liR??Lli id="PgL104"R?{?L/liR??Lli id="PgL105"R?  CInstallIDInit()?L/liR??Lli id="PgL106"R?  {?L/liR??Lli id="PgL107"R?    kStartID[0] = ';';?L/liR??Lli id="PgL108"R?    kEndID[0] = ';';?L/liR??Lli id="PgL109"R?  };?L/liR??Lli id="PgL110"R?} g_CInstallIDInit;?L/liR??Lli id="PgL111"R??L/liR??Lli id="PgL112"R??L/liR??Lli id="PgL113"R?#define NT_CHECK_FAIL_ACTION ShowErrorMessage(L"Unsupported Windows version"); return 1;?L/liR??Lli id="PgL114"R??L/liR??Lli id="PgL115"R?static void ShowErrorMessageSpec(const UString &name)?L/liR??Lli id="PgL116"R?{?L/liR??Lli id="PgL117"R?  UString message = NError::MyFormatMessage(::GetLastError());?L/liR??Lli id="PgL118"R?  int pos = message.Find(L"%1");?L/liR??Lli id="PgL119"R?  if (pos >= 0)?L/liR??Lli id="PgL120"R?  {?L/liR??Lli id="PgL121"R?    message.Delete(pos, 2);?L/liR??Lli id="PgL122"R?    message.Insert(pos, name);?L/liR??Lli id="PgL123"R?  }?L/liR??Lli id="PgL124"R?  ShowErrorMessage(NULL, message);?L/liR??Lli id="PgL125"R?}?L/liR??Lli id="PgL126"R??L/liR??Lli id="PgL127"R?int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE /* hPrevInstance */,?L/liR??Lli id="PgL128"R?    #ifdef UNDER_CE?L/liR??Lli id="PgL129"R?    LPWSTR?L/liR??Lli id="PgL130"R?    #else?L/liR??Lli id="PgL131"R?    LPSTR?L/liR??Lli id="PgL132"R?    #endif?L/liR??Lli id="PgL133"R?    /* lpCmdLine */,int /* nCmdShow */)?L/liR??Lli id="PgL134"R?{?L/liR??Lli id="PgL135"R?  g_hInstance = (HINSTANCE)hInstance;?L/liR??Lli id="PgL136"R??L/liR??Lli id="PgL137"R?  NT_CHECK?L/liR??Lli id="PgL138"R??L/liR??Lli id="PgL139"R?  #ifdef _WIN32?L/liR??Lli id="PgL140"R?  LoadSecurityDlls();?L/liR??Lli id="PgL141"R?  #endif?L/liR??Lli id="PgL142"R??L/liR??Lli id="PgL143"R?  // InitCommonControls();?L/liR??Lli id="PgL144"R??L/liR??Lli id="PgL145"R?  UString archiveName, switches;?L/liR??Lli id="PgL146"R?  #ifdef _SHELL_EXECUTE?L/liR??Lli id="PgL147"R?  UString executeFile, executeParameters;?L/liR??Lli id="PgL148"R?  #endif?L/liR??Lli id="PgL149"R?  NCommandLineParser::SplitCommandLine(GetCommandLineW(), archiveName, switches);?L/liR??Lli id="PgL150"R??L/liR??Lli id="PgL151"R?  FString fullPath;?L/liR??Lli id="PgL152"R?  NDLL::MyGetModuleFileName(fullPath);?L/liR??Lli id="PgL153"R??L/liR??Lli id="PgL154"R?  switches.Trim();?L/liR??Lli id="PgL155"R?  bool assumeYes = false;?L/liR??Lli id="PgL156"R?  if (switches.IsPrefixedBy_Ascii_NoCase("-y"))?L/liR??Lli id="PgL157"R?  {?L/liR??Lli id="PgL158"R?    assumeYes = true;?L/liR??Lli id="PgL159"R?    switches = switches.Ptr(2);?L/liR??Lli id="PgL160"R?    switches.Trim();?L/liR??Lli id="PgL161"R?  }?L/liR??Lli id="PgL162"R??L/liR??Lli id="PgL163"R?  AString config;?L/liR??Lli id="PgL164"R?  if (!ReadDataString(fullPath, kStartID, kEndID, config))?L/liR??Lli id="PgL165"R?  {?L/liR??Lli id="PgL166"R?    if (!assumeYes)?L/liR??Lli id="PgL167"R?      ShowErrorMessage(L"Can't load config info");?L/liR??Lli id="PgL168"R?    return 1;?L/liR??Lli id="PgL169"R?  }?L/liR??Lli id="PgL170"R??L/liR??Lli id="PgL171"R?  UString dirPrefix = L"." WSTRING_PATH_SEPARATOR;?L/liR??Lli id="PgL172"R?  UString appLaunched;?L/liR??Lli id="PgL173"R?  bool showProgress = true;?L/liR??Lli id="PgL174"R?  if (!config.IsEmpty())?L/liR??Lli id="PgL175"R?  {?L/liR??Lli id="PgL176"R?    CObjectVector?LctextconfigpairR? pairs;?L/ctextconfigpairR??L/liR??Lli id="PgL177"R?    if (!GetTextConfig(config, pairs))?L/liR??Lli id="PgL178"R?    {?L/liR??Lli id="PgL179"R?      if (!assumeYes)?L/liR??Lli id="PgL180"R?        ShowErrorMessage(L"Config failed");?L/liR??Lli id="PgL181"R?      return 1;?L/liR??Lli id="PgL182"R?    }?L/liR??Lli id="PgL183"R?    UString friendlyName = GetTextConfigValue(pairs, L"Title");?L/liR??Lli id="PgL184"R?    UString installPrompt = GetTextConfigValue(pairs, L"BeginPrompt");?L/liR??Lli id="PgL185"R?    UString progress = GetTextConfigValue(pairs, L"Progress");?L/liR??Lli id="PgL186"R?    if (progress.IsEqualTo_Ascii_NoCase("no"))?L/liR??Lli id="PgL187"R?      showProgress = false;?L/liR??Lli id="PgL188"R?    int index = FindTextConfigItem(pairs, L"Directory");?L/liR??Lli id="PgL189"R?    if (index >= 0)?L/liR??Lli id="PgL190"R?      dirPrefix = pairs[index].String;?L/liR??Lli id="PgL191"R?    if (!installPrompt.IsEmpty() && !assumeYes)?L/liR??Lli id="PgL192"R?    {?L/liR??Lli id="PgL193"R?      if (MessageBoxW(0, installPrompt, friendlyName, MB_YESNO |?L/liR??Lli id="PgL194"R?          MB_ICONQUESTION) != IDYES)?L/liR??Lli id="PgL195"R?        return 0;?L/liR??Lli id="PgL196"R?    }?L/liR??Lli id="PgL197"R?    appLaunched = GetTextConfigValue(pairs, L"RunProgram");?L/liR??Lli id="PgL198"R?    ?L/liR??Lli id="PgL199"R?    #ifdef _SHELL_EXECUTE?L/liR??Lli id="PgL200"R?    executeFile = GetTextConfigValue(pairs, L"ExecuteFile");?L/liR??Lli id="PgL201"R?    executeParameters = GetTextConfigValue(pairs, L"ExecuteParameters");?L/liR??Lli id="PgL202"R?    #endif?L/liR??Lli id="PgL203"R?  }?L/liR??Lli id="PgL204"R??L/liR??Lli id="PgL205"R?  CTempDir tempDir;?L/liR??Lli id="PgL206"R?  if (!tempDir.Create(kTempDirPrefix))?L/liR??Lli id="PgL207"R?  {?L/liR??Lli id="PgL208"R?    if (!assumeYes)?L/liR??Lli id="PgL209"R?      ShowErrorMessage(L"Can not create temp folder archive");?L/liR??Lli id="PgL210"R?    return 1;?L/liR??Lli id="PgL211"R?  }?L/liR??Lli id="PgL212"R??L/liR??Lli id="PgL213"R?  CCodecs *codecs = new CCodecs;?L/liR??Lli id="PgL214"R?  CMyComPtr?LiunknownR? compressCodecsInfo = codecs;?L/iunknownR??L/liR??Lli id="PgL215"R?  {?L/liR??Lli id="PgL216"R?    HRESULT result = codecs->Load();?L/liR??Lli id="PgL217"R?    if (result != S_OK)?L/liR??Lli id="PgL218"R?    {?L/liR??Lli id="PgL219"R?      ShowErrorMessage(L"Can not load codecs");?L/liR??Lli id="PgL220"R?      return 1;?L/liR??Lli id="PgL221"R?    }?L/liR??Lli id="PgL222"R?  }?L/liR??Lli id="PgL223"R??L/liR??Lli id="PgL224"R?  const FString tempDirPath = tempDir.GetPath();?L/liR??Lli id="PgL225"R?  // tempDirPath = L"M:\\1\\"; // to test low disk space?L/liR??Lli id="PgL226"R?  {?L/liR??Lli id="PgL227"R?    bool isCorrupt = false;?L/liR??Lli id="PgL228"R?    UString errorMessage;?L/liR??Lli id="PgL229"R?    HRESULT result = ExtractArchive(codecs, fullPath, tempDirPath, showProgress,?L/liR??Lli id="PgL230"R?      isCorrupt, errorMessage);?L/liR??Lli id="PgL231"R?    ?L/liR??Lli id="PgL232"R?    if (result != S_OK)?L/liR??Lli id="PgL233"R?    {?L/liR??Lli id="PgL234"R?      if (!assumeYes)?L/liR??Lli id="PgL235"R?      {?L/liR??Lli id="PgL236"R?        if (result == S_FALSE || isCorrupt)?L/liR??Lli id="PgL237"R?        {?L/liR??Lli id="PgL238"R?          NWindows::MyLoadString(IDS_EXTRACTION_ERROR_MESSAGE, errorMessage);?L/liR??Lli id="PgL239"R?          result = E_FAIL;?L/liR??Lli id="PgL240"R?        }?L/liR??Lli id="PgL241"R?        if (result != E_ABORT)?L/liR??Lli id="PgL242"R?        {?L/liR??Lli id="PgL243"R?          if (errorMessage.IsEmpty())?L/liR??Lli id="PgL244"R?            errorMessage = NError::MyFormatMessage(result);?L/liR??Lli id="PgL245"R?          ::MessageBoxW(0, errorMessage, NWindows::MyLoadString(IDS_EXTRACTION_ERROR_TITLE), MB_ICONERROR);?L/liR??Lli id="PgL246"R?        }?L/liR??Lli id="PgL247"R?      }?L/liR??Lli id="PgL248"R?      return 1;?L/liR??Lli id="PgL249"R?    }?L/liR??Lli id="PgL250"R?  }?L/liR??Lli id="PgL251"R??L/liR??Lli id="PgL252"R?  #ifndef UNDER_CE?L/liR??Lli id="PgL253"R?  CCurrentDirRestorer currentDirRestorer;?L/liR??Lli id="PgL254"R?  if (!SetCurrentDir(tempDirPath))?L/liR??Lli id="PgL255"R?    return 1;?L/liR??Lli id="PgL256"R?  #endif?L/liR??Lli id="PgL257"R?  ?L/liR??Lli id="PgL258"R?  HANDLE hProcess = 0;?L/liR??Lli id="PgL259"R?#ifdef _SHELL_EXECUTE?L/liR??Lli id="PgL260"R?  if (!executeFile.IsEmpty())?L/liR??Lli id="PgL261"R?  {?L/liR??Lli id="PgL262"R?    CSysString filePath = GetSystemString(executeFile);?L/liR??Lli id="PgL263"R?    SHELLEXECUTEINFO execInfo;?L/liR??Lli id="PgL264"R?    execInfo.cbSize = sizeof(execInfo);?L/liR??Lli id="PgL265"R?    execInfo.fMask = SEE_MASK_NOCLOSEPROCESS?L/liR??Lli id="PgL266"R?      #ifndef UNDER_CE?L/liR??Lli id="PgL267"R?      | SEE_MASK_FLAG_DDEWAIT?L/liR??Lli id="PgL268"R?      #endif?L/liR??Lli id="PgL269"R?      ;?L/liR??Lli id="PgL270"R?    execInfo.hwnd = NULL;?L/liR??Lli id="PgL271"R?    execInfo.lpVerb = NULL;?L/liR??Lli id="PgL272"R?    execInfo.lpFile = filePath;?L/liR??Lli id="PgL273"R??L/liR??Lli id="PgL274"R?    if (!switches.IsEmpty())?L/liR??Lli id="PgL275"R?    {?L/liR??Lli id="PgL276"R?      executeParameters.Add_Space_if_NotEmpty();?L/liR??Lli id="PgL277"R?      executeParameters += switches;?L/liR??Lli id="PgL278"R?    }?L/liR??Lli id="PgL279"R??L/liR??Lli id="PgL280"R?    CSysString parametersSys = GetSystemString(executeParameters);?L/liR??Lli id="PgL281"R?    if (parametersSys.IsEmpty())?L/liR??Lli id="PgL282"R?      execInfo.lpParameters = NULL;?L/liR??Lli id="PgL283"R?    else?L/liR??Lli id="PgL284"R?      execInfo.lpParameters = parametersSys;?L/liR??Lli id="PgL285"R??L/liR??Lli id="PgL286"R?    execInfo.lpDirectory = NULL;?L/liR??Lli id="PgL287"R?    execInfo.nShow = SW_SHOWNORMAL;?L/liR??Lli id="PgL288"R?    execInfo.hProcess = 0;?L/liR??Lli id="PgL289"R?    /* BOOL success = */ ::ShellExecuteEx(&execInfo);?L/liR??Lli id="PgL290"R?    UINT32 result = (UINT32)(UINT_PTR)execInfo.hInstApp;?L/liR??Lli id="PgL291"R?    if (result <= 32)?L/liR??Lli id="PgL292"R?    {?L/liR??Lli id="PgL293"R?      if (!assumeYes)?L/liR??Lli id="PgL294"R?        ShowErrorMessage(L"Can not open file");?L/liR??Lli id="PgL295"R?      return 1;?L/liR??Lli id="PgL296"R?    }?L/liR??Lli id="PgL297"R?    hProcess = execInfo.hProcess;?L/liR??Lli id="PgL298"R?  }?L/liR??Lli id="PgL299"R?  else?L/liR??Lli id="PgL300"R?#endif?L/liR??Lli id="PgL301"R?  {?L/liR??Lli id="PgL302"R?    if (appLaunched.IsEmpty())?L/liR??Lli id="PgL303"R?    {?L/liR??Lli id="PgL304"R?      appLaunched = L"setup.exe";?L/liR??Lli id="PgL305"R?      if (!NFind::DoesFileExist(us2fs(appLaunched)))?L/liR??Lli id="PgL306"R?      {?L/liR??Lli id="PgL307"R?        if (!assumeYes)?L/liR??Lli id="PgL308"R?          ShowErrorMessage(L"Can not find setup.exe");?L/liR??Lli id="PgL309"R?        return 1;?L/liR??Lli id="PgL310"R?      }?L/liR??Lli id="PgL311"R?    }?L/liR??Lli id="PgL312"R?    ?L/liR??Lli id="PgL313"R?    {?L/liR??Lli id="PgL314"R?      FString s2 = tempDirPath;?L/liR??Lli id="PgL315"R?      NName::NormalizeDirPathPrefix(s2);?L/liR??Lli id="PgL316"R?      appLaunched.Replace(L"%%T" WSTRING_PATH_SEPARATOR, fs2us(s2));?L/liR??Lli id="PgL317"R?    }?L/liR??Lli id="PgL318"R?    ?L/liR??Lli id="PgL319"R?    UString appNameForError = appLaunched; // actually we need to rtemove parameters also?L/liR??Lli id="PgL320"R??L/liR??Lli id="PgL321"R?    appLaunched.Replace(L"%%T", fs2us(tempDirPath));?L/liR??Lli id="PgL322"R??L/liR??Lli id="PgL323"R?    if (!switches.IsEmpty())?L/liR??Lli id="PgL324"R?    {?L/liR??Lli id="PgL325"R?      appLaunched.Add_Space();?L/liR??Lli id="PgL326"R?      appLaunched += switches;?L/liR??Lli id="PgL327"R?    }?L/liR??Lli id="PgL328"R?    STARTUPINFO startupInfo;?L/liR??Lli id="PgL329"R?    startupInfo.cb = sizeof(startupInfo);?L/liR??Lli id="PgL330"R?    startupInfo.lpReserved = 0;?L/liR??Lli id="PgL331"R?    startupInfo.lpDesktop = 0;?L/liR??Lli id="PgL332"R?    startupInfo.lpTitle = 0;?L/liR??Lli id="PgL333"R?    startupInfo.dwFlags = 0;?L/liR??Lli id="PgL334"R?    startupInfo.cbReserved2 = 0;?L/liR??Lli id="PgL335"R?    startupInfo.lpReserved2 = 0;?L/liR??Lli id="PgL336"R?    ?L/liR??Lli id="PgL337"R?    PROCESS_INFORMATION processInformation;?L/liR??Lli id="PgL338"R?    ?L/liR??Lli id="PgL339"R?    CSysString appLaunchedSys = GetSystemString(dirPrefix + appLaunched);?L/liR??Lli id="PgL340"R?    ?L/liR??Lli id="PgL341"R?    BOOL createResult = CreateProcess(NULL, (LPTSTR)(LPCTSTR)appLaunchedSys,?L/liR??Lli id="PgL342"R?      NULL, NULL, FALSE, 0, NULL, NULL /*tempDir.GetPath() */,?L/liR??Lli id="PgL343"R?      &startupInfo, &processInformation);?L/liR??Lli id="PgL344"R?    if (createResult == 0)?L/liR??Lli id="PgL345"R?    {?L/liR??Lli id="PgL346"R?      if (!assumeYes)?L/liR??Lli id="PgL347"R?      {?L/liR??Lli id="PgL348"R?        // we print name of exe file, if error message is?L/liR??Lli id="PgL349"R?        // ERROR_BAD_EXE_FORMAT: "%1 is not a valid Win32 application".?L/liR??Lli id="PgL350"R?        ShowErrorMessageSpec(appNameForError);?L/liR??Lli id="PgL351"R?      }?L/liR??Lli id="PgL352"R?      return 1;?L/liR??Lli id="PgL353"R?    }?L/liR??Lli id="PgL354"R?    ::CloseHandle(processInformation.hThread);?L/liR??Lli id="PgL355"R?    hProcess = processInformation.hProcess;?L/liR??Lli id="PgL356"R?  }?L/liR??Lli id="PgL357"R?  if (hProcess != 0)?L/liR??Lli id="PgL358"R?  {?L/liR??Lli id="PgL359"R?    WaitForSingleObject(hProcess, INFINITE);?L/liR??Lli id="PgL360"R?    ::CloseHandle(hProcess);?L/liR??Lli id="PgL361"R?  }?L/liR??Lli id="PgL362"R?  return 0;?L/liR??Lli id="PgL363"R?}?L/liR??Lli id="PgL364"R??L/liR??L/olR?






   ?L/divR??L/divR??L/divR??L/divR??L/bodyR??L/htmlR?