Programm nochmal öffnen mit Parametern
- VB.NET
- .NET (FX) 3.0–3.5
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 19 Antworten in diesem Thema. Der letzte Beitrag () ist von SpaceyX.
-
-
-
-
Nichts ist daran falsch. Du musst natürlich in Deinem Programm prüfen, ob überhaupt ein Befehl übergeben wurde. Wenn ja => entsprechende Funktion ausführen. Weißt Du, wie Du an die CommandLineArgs gelangst?Die Unendlichkeit ist weit. Vor allem gegen Ende.
Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. -
Nein.Ich habe diesen Code dazu gefunden auf MSDN wenn ich ihn anpasse klappts dann?
VB.NET-Quellcode
- Private Sub MyApplication_Startup( _
- ByVal sender As Object, _
- ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs _
- ) Handles Me.Startup
- For Each s As String In My.Application.CommandLineArgs
- If s.ToLower = "/batch" Then
- ' Stop the start form from loading.
- e.Cancel = True
- End If
- Next
- If e.Cancel Then
- ' Call the main routine for windowless operation.
- Dim c As New BatchApplication
- c.Main()
- End If
- End Sub
- Class BatchApplication
- Sub Main()
- ' Insert code to run without a graphical user interface.
- End Sub
- End Class
-
Denke schon, dass es nach einer Anpassung klappt. Ich persönlich würde lieber im Konstruktor Deiner Start-Klasse prüfen oder im Load-Event. Weiß grad nicht, was ich von dem Konstrukt da oben halten soll. Möglichkeiten gibt´s hier wirklich viele. Im Zweifelsfall aus der Sub Main(). Bin mir grade unsicher, was ich Dir raten soll.
Wenn ich die CommandLineArgs brauche, dann hole ich sie mir über:
Mir sieht das da oben zu sehr nach einer Eigenbrödlerei von VB aus, darum würd ich es nicht so machen.Die Unendlichkeit ist weit. Vor allem gegen Ende.
Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken.Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „SpaceyX“ ()
-
-
Ich würde es so lösen:
VB.NET-Quellcode
- Public Class Form1
- Private _pathExe As String = "WindowsApplication11.exe"
- Public Sub New()
- InitializeComponent()
- If Environment.GetCommandLineArgs().Length > 1 Then 'erst mal prüfen, ob überhaupt was übergeben wurde. Ein Eintrag ist immer vorhanden, nämlich der Pfad zur Anwendung.
- If Environment.GetCommandLineArgs()(1) = "doSmth" Then
- ExecOn2ndInstance()
- End If
- End If
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- Process.Start(_pathExe, "doSmth")
- End Sub
- Private Sub ExecOn2ndInstance()
- MessageBox.Show("2nd instance!")
- End Sub
- End Class
Die Unendlichkeit ist weit. Vor allem gegen Ende.
Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. -
-
-
Naja man "sollte" es so gut es geht vermeiden - die einzige Sache die der My-Namespace mehr kann, ist ganze Directories mit Unterordnern kopieren was IO.Directory nicht hergibt, aber Artentus hat mal ne Extension geschrieben, kann man auch mal reinschauen:
CopyTo-Erweiterung für DirectoryInfo
faxe1008
-
-
-
C# ist eben DIE .NET-Sprache. VB neigt dazu, manche Sachen sehr zu vereinfachen. Beispielsweise den abartig möglichen Aufruf von Forms und Dialogen, OPTION STRICT OFF und solche Dinge. Im My-Namespace steckt eben auch viel Kram, den C# nicht mitbringt. Man sollte sich an C# orientieren, dann ist man auf einem guten Weg. Abgesehen davon sollte auch der Verweis auf Microsoft.VisualBasic-Namespace aus allen Projekten entfernt werden. Leider sind es u. A. solche Unarten, wegen denen VB oft "belächelt" wird, wobei es dazu keinen Grund gibt, wenn man sich an bestimmte "Konventionen" hält. Trotzdem finde ich My.Settings eine gute Sache.Die Unendlichkeit ist weit. Vor allem gegen Ende.
Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. -
Lies doch mal den Thread ausm Link mal ganz, da ist wirklich fast alles aufgeführt. Aber um es kurz nochmal zu umreißen:
- Es ist plattformabhängig (ich weiß ironisch das unter NET zu sagen), das kannste bei Mono vergessen
- Es erleichtert dir den Umstieg auf C#
- Die SystemInfo-Klasse kann um _einiges_ mehr
faxe1008
-
-
Mete1997 schrieb:
Ich wollte nächste Woche anfangen C++ zu lernen
So kommst Du schnell durcheinander und gibst vielleicht sogar auf.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
C# ähnelt C++ bis auf die Syntax ein bisschen generell gar nicht.
Lerne erstmal richtig .NET, dann kann man weitersehen, bevor noch irgendnen Mist mit C++ rauskommt. ^^#define for for(int z=0;z<2;++z)for // Have fun!
Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose!
Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum daDieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Trade“ ()
-
RodFromGermany schrieb:
Lern mal leber zunächst richtig VB.NET / C#, und wenn Du Dir die Prinzipien der OO zu Eigen gemacht hast
Okay werde ich machen wo könnte ich den Tutorials bzw Anleitungen finden von VB.Net zum lernen? -
microsoft.com/germany/msdn/akt…005DasEntwicklerbuch.aspx
Oder auch die 2008er, 2010er-Version dieses Buches. Die 2005er ist für mich immer noch die Beste für die Grundlagen.Die Unendlichkeit ist weit. Vor allem gegen Ende.
Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken.
-
Ähnliche Themen
-
Programm mit Parametern über URL starten
TanoshiiSuta - - Sonstige Problemstellungen
-
5 Benutzer haben hier geschrieben
- Gast (8)
- SpaceyX (7)
- faxe1008 (3)
- Trade (1)
- RodFromGermany (1)