Hide при Автозапуске приложения - C#
Формулировка задачи:
Здравствуйте, после включения пк, программа запускается из авто загрузки
1.Возможно ее сразу хайдить? что бы она была только в трее во время запуска из автозагрузки?
2.Но если программа была закрыта, то при запуске с рабочего стола сразу открывать, без хайда?
Листинг программы
- // в автоазагрузку
- 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); }
Решение задачи: «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);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д