+++++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?