Ihre Anwendung nicht in der Lage sein zu erkennen, (selbst) sie beim Start oder durch normale Benutzer Start ins Leben gerufen wurde. Sie können jedoch arguments
an Ihre Anwendung übergeben und dann Ihre Anwendung richtig reagieren lassen. Hier ist ein grundlegendes Beispiel
Zuerst starten in program.cs
main
Methode. Standardmäßig werden die Startargumente nicht angezeigt. Durch das Hinzufügen des Parameters string[] args
zur main()
-Methode werden jedoch die Befehlsargumente verfügbar gemacht. Wie
static class Program
{
public static bool LaunchedViaStartup { get; set; }
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
Program.LaunchedViaStartup = args != null && args.Any(arg => arg.Equals("startup", StringComparison.CurrentCultureIgnoreCase));
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
Jetzt ist der Code einfach ist, haben wir eine statische Variable in die Program
Klasse LaunchedViaStartup
dann, bevor das Programm beginnt unsere Form, die wir überprüfen, ob die Befehlsargumente enthält unsere speziellen startup
Argument (über Linq) genannt. Der Name für dieses Argument liegt ganz bei Ihnen.
Jetzt in unserer Hauptform (ja Basic) haben wir Zugriff auf diese Eigenschaft für die Lebensdauer der Anwendung.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
MessageBox.Show(this, string.Format("Lanched Via Startup Arg:{0}", Program.LaunchedViaStartup));
}
}
Schließlich dies testen Sie einfach die Projekteigenschaften-Fenster und stellen den Command line arguments
ähnlich den Screenshot unten öffnen.
schließlich das Start Argument außerhalb von Visual Studio zu testen, den Start Argumente Ihrer Verknüpfung, wie der Screenshot unten hinzufügen.
Sie können Argument übergeben, wenn Sie von Start ausgeführt – Shaharyar