Question

Dans ma demande, j'ai une option pour démarrer l'application lorsque Windows est démarré. Cela fonctionne très bien. J'ai aussi en sorte que, lorsqu'elle est réduite, l'application est réduit dans la barre d'état système. Est-il possible que je puisse avoir être réduite au minimum automatiquement lors du démarrage en même temps que Windows? La seule façon que je pouvais penser, est de récupérer la quantité de temps qu'ils le système a été et utiliser ces données pour décider si la machine avait récemment commencé. De toute évidence, il y a beaucoup de défauts avec cette théorie. Quelqu'un at-il d'autres idées à comment cela pourrait se faire?

Était-ce utile?

La solution

Mettre en œuvre un commutateur de ligne de commande dans votre programme qui provoque votre programme pour réduire au minimum sur le plateau. Lorsque vous démarrez le programme avec le démarrage de Windows, il suffit d'inclure le commutateur.

http://msdn.microsoft.com/en-us/library /acy3edy3.aspx

Autres conseils

Dans votre formulaire "Propriétés" dans le changement WindowState à "minimisés", ou dans le code:

     //After this:
     InitializeComponent();
     //Place this line:
     WindowState = FormWindowState.Minimized;

Espérons que cela aide!

utiliser un argument de ligne de commande, par exemple, / Startminimised. Dans votre application pour vérifier la présence de ce commutateur (en utilisant Environment.GetCommandLineArgs) lorsque l'application démarre et réduit automatiquement si le commutateur est présent.

Ensuite, dans votre option, assurez-vous que l'application « exécuter au démarrage » est démarré avec ce commutateur par exemple définir la clé de Registre Exécuter ou raccourci groupe de démarrage à myapp.exe /startminimised.

Lorsque l'utilisateur exécute votre application, cependant, ils ne seront pas (normalement!) Spécifier le commutateur, de sorte que l'application apparaît comme une fenêtre.

Vous pouvez appeler votre programme avec un paramètre, par exemple « minimisés », puis gérer ce paramètre dans votre programme:

Dans votre Program.cs, gérer le paramètre et passer ensuite ce paramètre à Form1:

        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            if (args.Length != 0){
                Application.Run(new Form1(args[0]));
            }
            else
            {
                Application.Run(new Form1("normalState"));
            }
        }

Dans votre Form1.cs, vous pouvez appeler une fonction avec le paramètre passé et minimiser l'application:

    public Form1(string parameter)
    {
        InitializeComponent();
        SetStartup(); //This function will set your app in the registry to run on startup. I'll explain this function below.
        MinimizeApp(parameter);
    }

Par exemple, avec cette fonction i utilisé, si vous démarrez l'application avec le paramètre minimisés, il commencera à réduire au minimum, un NotifyIcon apparaît dans la barre des tâches et une bulle disant que l'application est lancée et en cours d'exécution en arrière-plan.

public void MinimizeApp(string parameter)
{
    if (parameter == "-minimized")
    {
        this.WindowState = FormWindowState.Minimized;
        notifyIcon1.Visible = true;
        notifyIcon1.BalloonTipText = "Program is started and running in the background...";
        notifyIcon1.ShowBalloonTip(500);
        Hide();
    }

}

La fonction SetStartup met votre programme dans le registre, il va exécuter au démarrage.

private void SetStartup(){
    Microsoft.Win32.RegistryKey key;
    key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
    key.SetValue(AppName, Application.ExecutablePath.ToString());
    string ApplicationPath = "\"" + Application.ExecutablePath.ToString() + "\" -minimized";
    key.SetValue("MyApplicationName", ApplicationPath);
    key.Close();
}

En ce moment, lorsque vous démarrez votre programme avec le paramètre minimisés, par exemple: « c: /programs/app.exe » minimisés alors il commencera à réduire au minimum, et lorsque vous redémarrez votre ordinateur, il commence automatiquement réduits au minimum.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top