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);
}