示例#1
0
        static int Main(string[] args)
        {
            // redirect console output to parent process;
            // must be before any calls to Console.WriteLine()
            AttachConsole(ATTACH_PARENT_PROCESS);

            Sys.fGetParentProcess();
            Console.WriteLine("Systeme mode: " + Sys.sParentName);

            if (Sys.sParentName == "cmd")
            {
                Data.bConsoleMode = true;
            }

            Data.fSetDefaultVar(args);
            Data.fCheckUpdate();

            Data.fCreateConfigMng();

            if (Data.bConsoleMode)
            {
                SysAPI.fStartConsole();
            }

            if (!Data.bConsoleMode || SysAPI.bIsLoadedFromAnotherCwcInstance)
            {
                Data.bGUI = false;
                if (!Data.bModeIDE)
                {
                    // Base.bAlive = false; //not work??
                }
            }

            Data.fGetMainArg();
            fCheckForRegistringFiles();

            if (!Data.bConsoleMode)
            {
                GuiManager.fCreateGUI();
            }


            if (Data.sArg == "") //No Argument

            {
                Output.Trace("\f0AVersion " + Data.sVersion + "\fs \n");
                Msg.fShowIntroMessage();
                SysAPI.fSetWorkingDir(PathHelper.ExeWorkDir);
            }
            else
            {
                Console.WriteLine("fBeginBuild ");
                Build.fBeginBuild();
            }

            CppCompiler.CheckAllThreadsHaveFinishedWorking(true);
            Build.fDisableBuild();

            if (Data.oGuiConsole != null)
            {
                if (!Data.oGuiConsole.fCheckForDemos())
                {
                    Program.fCheckForRegistringFiles(true); //Register if first use
                }
            }

            if (!Data.bConsoleMode)
            {
                if (Data.bModeIDE)
                {
                    Base.bAlive = true;
                    // PipeInput.fLaunchPipeInput();
                }
                Build.fStartLoopTestingIdeLinkedClosing();
            }
            Build.fMainLoop();

            //if(Data.bConsoleMode) {SendKeys.SendWait("{ENTER}"); }
            return(0);
        }