Exemple #1
0
        private void OpenOfflineLogs(RibbonPage ribbonPage, string[] filenames, IAnalogyOfflineDataSource dataSource,
                                     string title = null)
        {
            offline++;
            UserControl offlineUC = new OfflineUCLogs(dataSource, filenames);
            XtraTabPage page      = new XtraTabPage();

            page.ShowCloseButton = DevExpress.Utils.DefaultBoolean.True;
            page.Tag             = ribbonPage;
            page.Controls.Add(offlineUC);
            offlineUC.Dock = DockStyle.Fill;
            page.Text      = $"{offlineTitle} #{offline}{(title == null ? "" : $" ({title})")}";
Exemple #2
0
        private void CreateEventLogsMenu(RibbonPage ribbonPage)
        {
            EventLogDataSource elds         = new EventLogDataSource();
            BarButtonItem      evtxRealTime = new BarButtonItem();

            evtxRealTime.Caption    = "Real Time Windows Event Logs";
            evtxRealTime.ItemClick += (s, be) =>
            {
                UserControl windowsEventlog = new WindowsEventLog();
                XtraTabPage page            = new XtraTabPage();
                page.ShowCloseButton = DevExpress.Utils.DefaultBoolean.True;
                page.Tag             = ribbonPage;
                page.Controls.Add(windowsEventlog);
                windowsEventlog.Dock = DockStyle.Fill;
                page.Text            = $"Windows Log";
                xtcLogs.TabPages.Add(page);
                xtcLogs.SelectedTabPage = page;
            };
            bsiWindowsEventLogs.AddItem(evtxRealTime);

            BarButtonItem evtxFile = new BarButtonItem();

            evtxFile.Caption    = "Open Event log file (*.Evtx)";
            evtxFile.ItemClick += (s, be) =>
            {
                OpenFileDialog openFileDialog1 = new OpenFileDialog();
                openFileDialog1.Filter      = "Windows Event log files (*.evtx)|*.evtx";
                openFileDialog1.Title       = @"Open Files";
                openFileDialog1.Multiselect = true;
                if (openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    OpenOfflineLogs(ribbonPage, openFileDialog1.FileNames, elds, "Windows Event log");
                    AddRecentFiles(openFileDialog1.FileNames.ToList());
                }
            };
            bsiWindowsEventLogs.AddItem(evtxFile);

            BarButtonItem systemLog = new BarButtonItem();

            systemLog.Caption    = $"Open {Environment.MachineName} System Log file";
            systemLog.ItemClick += (s, be) =>
            {
                string file = Path.Combine(Environment.ExpandEnvironmentVariables("%SystemRoot%"), "System32", "Winevt",
                                           "Logs", "System.evtx");
                if (File.Exists(file))
                {
                    OpenOfflineLogs(ribbonPage, new[] { file }, elds, "Windows Event log");
                    AddRecentFiles(new List <string>()
                    {
                        file
                    });
                }
            };
            bsiWindowsEventLogs.AddItem(systemLog);

            BarButtonItem appLog = new BarButtonItem();

            appLog.Caption    = $"Open {Environment.MachineName} Application Log file";
            appLog.ItemClick += (s, be) =>
            {
                string file = Path.Combine(Environment.ExpandEnvironmentVariables("%SystemRoot%"), "System32", "Winevt",
                                           "Logs", "Application.evtx");
                if (File.Exists(file))
                {
                    OpenOfflineLogs(ribbonPage, new[] { file }, elds, "Windows Event log");
                    AddRecentFiles(new List <string>()
                    {
                        file
                    });
                }
            };
            bsiWindowsEventLogs.AddItem(appLog);

            BarButtonItem secLog = new BarButtonItem();

            secLog.Caption    = $"Open {Environment.MachineName} Security Log file";
            secLog.ItemClick += (s, be) =>
            {
                string file = Path.Combine(Environment.ExpandEnvironmentVariables("%SystemRoot%"), "System32", "Winevt",
                                           "Logs", "Security.evtx");
                if (File.Exists(file))
                {
                    OpenOfflineLogs(ribbonPage, new[] { file }, elds, "Windows Event log");
                    AddRecentFiles(new List <string>()
                    {
                        file
                    });
                }
            };
            bsiWindowsEventLogs.AddItem(secLog);
            BarButtonItem btnFolder = new BarButtonItem();

            btnFolder.Caption    = $"Local Machine logs - {Environment.MachineName}";
            btnFolder.ItemClick += (s, be) =>
            {
                OfflineUCLogs offlineUC = new OfflineUCLogs(new EventLogDataSource());
                offlineUC.SelectedPath = Path.Combine(Environment.ExpandEnvironmentVariables("%SystemRoot%"),
                                                      "System32", "Winevt", "Logs");
                XtraTabPage page = new XtraTabPage();
                page.ShowCloseButton = DevExpress.Utils.DefaultBoolean.True;
                page.Controls.Add(offlineUC);
                offlineUC.Dock = DockStyle.Fill;
                page.Text      = $"Local Machine logs";
                xtcLogs.TabPages.Add(page);
                xtcLogs.SelectedTabPage = page;
            };
            bsiWindowsEventLogs.AddItem(btnFolder);
        }