コード例 #1
0
        public static void Run()
        {
            try
            {
                if (ProgramRoutines.IsParameterSet(CommandLineParameters.WINDOWLESS))
                {
                    Cliver.Bot.Program.Run();
                    return;
                }

                LogMessage.Output2Console = false;
                Cliver.Bot.Program.Initialize();

                if (Bot.Properties.App.Default.SingleProcessOnly)
                {
                    ProcessRoutines.RunSingleProcessOnly();
                }

                Application.Run(MainForm.This);
            }
            catch (Exception e)
            {
                LogMessage.Exit(e);
            }
        }
コード例 #2
0
        public static void Run()
        {
            try
            {
                LogMessage.DisableStumblingDialogs = ProgramRoutines.IsParameterSet(CommandLineParameters.AUTOMATIC);
                Log.MODE = Log.Mode.ONLY_LOG;
                LogMessage.Output2Console = true;
                ProcessRoutines.RunSingleProcessOnly();

                LogMessage.Inform(MessageMark.STARTED + " \r\nCommand line: " + string.Join("|", Environment.GetCommandLineArgs()) + " \r\nRunning as:" + System.Security.Principal.WindowsIdentity.GetCurrent().Name);

                Assembly    service_assembly = Assembly.GetEntryAssembly();
                List <Type> service_types    = (from t in service_assembly.GetExportedTypes() where t.IsSubclassOf(typeof(Service)) select t).ToList();
                if (service_types.Count < 1)
                {
                    LogMessage.Exit("Could not find Service implementation in the entry assembly: " + service_assembly.FullName);
                }
                if (service_types.Count > 1)
                {
                    LogMessage.Exit("Found more than one Service implementations in the entry assembly: " + service_assembly.FullName);
                }

                Service service = (Service)Activator.CreateInstance(service_types[0]);
                service.Do();
                service.complete();
            }
            catch (Exception e)
            {
                LogMessage.Exit(e);
            }
        }
コード例 #3
0
        public static void Main(string[] args)
        {
            try
            {
                //Wpf.Message.ResourceDictionaryPath = "assembly=" + System.Reflection.Assembly.GetEntryAssembly().EscapedCodeBase + ";resources/style.xaml";

                //Uri u = new System.Uri("/" + PathRoutines.GetFileNameFromPath(System.Reflection.Assembly.GetEntryAssembly().EscapedCodeBase) + ";component/resources/style.xaml", System.UriKind.Relative);
                //System.Windows.ResourceDictionary rd = new System.Windows.ResourceDictionary();
                //System.Windows.Application.LoadComponent(rd, u);
                //Wpf.Message.ResourceDictionary = rd;
                //System.Windows.Resources.StreamResourceInfo info = System.Windows.Application.GetContentStream(u);
                //System.Windows.Markup.XamlReader reader = new System.Windows.Markup.XamlReader();
                //Wpf.Message.ResourceDictionary = (System.Windows.ResourceDictionary)reader.LoadAsync(info.Stream);

                Log.Main.Inform("Version: " + AssemblyRoutines.GetAppVersion());
                string user = ProcessRoutines.GetProcessUserName();
                string m    = "User: "******" (as administrator)";
                }
                Log.Main.Inform(m);

                ProcessRoutines.RunSingleProcessOnly();

                if (ProgramRoutines.IsParameterSet <CommandLineParameters>(CommandLineParameters.INITIAL_CONFIGURATION))
                {
                    Message.Inform("Please configure service in the next window.");
                    SettingsWindow.OpenDialog();
                    return;
                }

#if !test
                Application.Run(SysTray.This);
#else
                UiApiClient.testCreateInstanceContext();
                SettingsWindow.Open();
                Application.Run(SysTray.This);
                //UiApiClient.testSubscribe();
                //UiApiClient.testSubscribe();
                //Thread.Sleep(1000);
                //UiApiClient.testCloseInstanceContext();
                //UiApiClient.testCreateInstanceContext();
                //UiApiClient.testSubscribe();
                //UiApiClient.testSubscribe();
                //for (; ; )
                //{
                //    System.Threading.Thread.Sleep(10000);
                //}
#endif
            }
            catch (Exception e)
            {
                LogMessage.Error(e);
            }
            finally
            {
                Exit();
            }
        }
コード例 #4
0
ファイル: MainForm.cs プロジェクト: gilby125/CliverBot
        internal MainForm()
        {
            InitializeComponent();
            this.Text = Cliver.Bot.Program.Title;

            if (ProgramRoutines.IsParameterSet(CommandLineParameters.CONFIGURE))
            {
                this.buttonStart.Enabled = false;
            }

            ProgressBarInputItemQueueName = Session.GetFirstDeclaredInputItemType().Name;
            Session.Closing         += Session_Closing;
            InputItemQueue.Progress += new InputItemQueue.OnProgress(Session_InputItemQueueProgress);
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: gilby125/CliverBot
        static Program()
        {
            Cliver.Bot.Program.Initialize();

            if (ProgramRoutines.IsParameterSet(CommandLineParameters.CONFIGURE))
            {
                Mode = ProgramMode.CONFIGURE;
                return;
            }
            if (ProgramRoutines.IsParameterSet(CommandLineParameters.WINDOWLESS))
            {
                Mode = ProgramMode.WINDOWLESS;
                return;
            }
            if (ProgramRoutines.IsParameterSet(CommandLineParameters.AUTOMATIC))
            {
                Mode = ProgramMode.AUTOMATIC;
                return;
            }
            Mode = ProgramMode.DIALOG;
        }