Hide при Автозапуске приложения - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, после включения пк, программа запускается из авто загрузки
            // в автоазагрузку
            const string name = "MyApplication";
            string ExePath = Application.ExecutablePath;
            Microsoft.Win32.RegistryKey reg;
            reg = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run\");
            try
            {
                reg.SetValue(name, ExePath);
                reg.Close();
            }
            catch (Exception ex) { MessageBox.Show(ex.Message); }
1.Возможно ее сразу хайдить? что бы она была только в трее во время запуска из автозагрузки? 2.Но если программа была закрыта, то при запуске с рабочего стола сразу открывать, без хайда?

Решение задачи: «Hide при Автозапуске приложения»

textual
Листинг программы
        string[] args;
        public Form1(string[] args)
        {
            this.args = args;
            InitializeComponent();
 
            if (args.Length > 0)
            {
                WindowState = (FormWindowState)Enum.Parse(typeof(FormWindowState), args[0]); // Первое значение (Minimized)
                ShowInTaskbar = Convert.ToBoolean(args[1]); // Второе значение (false)
            }
        }
 
        // Автозагрузка
 
        const string name = "ProgramName"; // Название которое будет хранится в реестре
        public bool SetAutorunValue(bool autorun)
        {
            string ExePath = Application.ExecutablePath + " Minimized false"; // объявляем переменную и в неё записываем путь к программе + параметры запуска
            RegistryKey reg;
            reg = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run"); // добавляем в ветку реестра автозагрузки
            try
            {
                if (autorun)
                    reg.SetValue(name, ExePath);
                else
                    reg.DeleteValue(name);
 
                reg.Close();
            }
            catch
            {
                return false;
            }
            return true;
        }
 
        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            // Запускать программу при запуске windows
            if (checkBox1.Checked == true)
                SetAutorunValue(true);
            else
                SetAutorunValue(false);
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы