Exemplo n.º 1
0
        public void UpdateListViewFull()
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new MethodInvoker(() => { UpdateListViewFull(); }));
                return;
            }

            foreach (ListViewItem item in listViewMain.Items)
            {
                StartItem si = ((StartItem)(item.Tag));
                item.Text            = si.Name;
                item.ToolTipText     = si.Name + "\n" + si.Path + "\n" + si.Commandline;
                item.SubItems[1].Tag = si.CurrentStatus;

                if (si.Name == "" || si.Path == "")
                {
                    item.BackColor = Color.FromArgb(255, 0, 0);
                }
                else
                {
                    item.BackColor = Color.Transparent;
                }
            }
            UpdateListView();
        }
Exemplo n.º 2
0
        private static Process[] GetProcessFromStartItem(StartItem si)
        {
            Process[] pname      = new Process[0];
            int       indexSlash = si.Path.LastIndexOf("\\", StringComparison.Ordinal);

            indexSlash = (indexSlash == -1) ? 0 : indexSlash;
            int indexDot = si.Path.LastIndexOf(".");

            indexDot = (indexDot == -1) ? 0 : indexDot;
            string exeName;

            try
            {
                exeName = si.Path.Substring(indexSlash + 1, indexDot - indexSlash - 1);
                //    exeName = si.Path.Substring(indexSlash + 1);
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
                Debug.WriteLine(si.Path + Autostart_Manager.Properties.Resources.Program_GetProcessFromStartItem_Slash + indexSlash + " Dot:" + indexDot);
                return(pname);
            }

            pname = Process.GetProcessesByName(exeName);
            return(pname);
        }
Exemplo n.º 3
0
        internal static void StopProcess(StartItem si)
        {
            var processes = GetProcessFromStartItem(si);

            foreach (Process pc in processes)
            {
                pc.Kill();
            }
        }
Exemplo n.º 4
0
        public static StartItem StartItemFromGUID(StartItem passed)
        {
            foreach (StartItem si in StartItemList)
            {
                if (si.GUID == passed.GUID)
                {
                    return(si);
                }
            }

            throw new Exception(Autostart_Manager.Properties.Resources.Helper_StartItemFromGUID_CouldNotFindStartItemFromGUID);
        }
Exemplo n.º 5
0
        public static void RunProcess(StartItem SI)
        {
            var newPro = new Process();
            var si     = newPro.StartInfo;

            si.Arguments = SI.Commandline;
            si.FileName  = SI.Path;
            try
            {
                newPro.Start();
            }
            catch (Exception)
            {
            }
        }
Exemplo n.º 6
0
        private void ButtonNew_Click(object sender, EventArgs e)
        {
            StartItem newItem   = new StartItem();
            Edit      addWindow = new Edit(newItem);

            addWindow.ShowDialog();
            switch (addWindow.DialogResult)
            {
            case DialogResult.OK:
                AddItem(newItem);
                break;

            default:
                break;
            }
        }
Exemplo n.º 7
0
        public Edit(StartItem si)
        {
            NewStartItem = si;
            InitializeComponent();

            // Set Default textbox strings
            DefaultName        = textBoxName.Text;
            DefaultPath        = textBoxPath.Text;
            DefaultCommandline = textBoxCommandline.Text;

            // Set Fields from Passed StartItem
            textBoxName.Text            = si.Name;
            textBoxPath.Text            = si.Path;
            textBoxCommandline.Text     = si.Commandline;
            checkBoxKeepRunning.Checked = si.KeepAlive;
            ReplaceText();

            // Change to Add or Edit
            Text           = (si.Name == "") ? Autostart_Manager.Properties.Resources.Edit_Edit_AddNewItem : Autostart_Manager.Properties.Resources.Edit_Edit_Edit + si.Name;
            buttonAdd.Text = (si.Name == "") ? Autostart_Manager.Properties.Resources.Edit_InitializeComponent_Add : Autostart_Manager.Properties.Resources.Edit_InitializeComponent_Edit;
        }
Exemplo n.º 8
0
        private void AddItem(StartItem si)
        {
            ListViewItem newItem = new ListViewItem();

            newItem.Tag = si;
            // newItem.Text = ((StartItem)(newItem.Tag)).Name;
            // newItem.ToolTipText = ((StartItem)(newItem.Tag)).Name + "\n" + ((StartItem)(newItem.Tag)).Path + "\n" + ((StartItem)(newItem.Tag)).Commandline;
            var Key = ((StartItem)(newItem.Tag)).GUID.ToString();

            newItem.ImageKey = Key;
            newItem.Name     = Key;
            listViewMain.SmallImageList.Images.Add(Key, ((StartItem)(newItem.Tag)).DisplayedImage);
            newItem.UseItemStyleForSubItems = false;

            ListViewItem.ListViewSubItem statusItem = new ListViewItem.ListViewSubItem();
            statusItem.Tag = ((StartItem)(newItem.Tag)).CurrentStatus;

            newItem.SubItems.Add(statusItem);
            listViewMain.Items.Add(newItem);

            UpdateListViewFull();
        }
Exemplo n.º 9
0
 private void RemoveItem(StartItem si)
 {
     listViewMain.Items[si.GUID.ToString()].Remove();
     Helper.StartItemList.Remove(si);
     UpdateListView();
 }
Exemplo n.º 10
0
        public static bool ProcessIsRunning(StartItem si)
        {
            var processes = GetProcessFromStartItem(si);

            return((processes.Length != 0) ? true : false);
        }