Benutzer mit den meisten Antworten
VB File in C#

Frage
-
H
Hi ich habe ein VB File welches ich in C# verwenden möchte. Aber wie kann ich Parameter übergeben?
Hier ein Bsp von meinem VB File:
Database = "Perf_Test"
Hier mein c# code:
Wie gebe ich jetzt der variable Database einen Wert ?Process scriptProc = new Process(); scriptProc.StartInfo.FileName = path
scriptProc.StartInfo.Arguments = ; scriptProc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; //prevent console window from popping up scriptProc.Start(); scriptProc.WaitForExit(); scriptProc.Close();
Antworten
-
Hallo,
da der Code anscheinend aus einem SO-Post mit Bezug auf VBScript stammt, nehme ich an, dass Du eine VBScript-Datei über C#-Code ausführen möchtest und diesem Skript ein String-Argument übergeben möchtest.
Nehmen wir mal an, dass deine VBS-Datei so aussieht:
message = WScript.Arguments.Item(0) MsgBox message
Dann kann ein Aufruf aus C# mit Argument-Übergabe so aussehen:
var vbsFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "ShowMessage.vbs"); var argument = String.Format("\"{0}\"", "Hallo Welt!"); Process.Start(vbsFile, argument);
Gruß
Marcel- Als Antwort vorgeschlagen Elmar BoyeEditor Montag, 3. Juni 2013 10:05
- Als Antwort markiert Zanz19 Montag, 3. Juni 2013 13:09
Alle Antworten
-
Mir ist nicht klar was Du eigentlich machen willst.
Geht es darum die Variable Database, welche in einem VB Programm genutzt wird zu speichern und später in einem C# Programm wieder einzulesen?
Oder, geht es darum dein VB Programm mit einem C# Programm zu starten und vom C# Programm aus die Variable auszulesen?
Oder hast Du noch was ganz anderes vor?
- Florian
-
Hallo,
da der Code anscheinend aus einem SO-Post mit Bezug auf VBScript stammt, nehme ich an, dass Du eine VBScript-Datei über C#-Code ausführen möchtest und diesem Skript ein String-Argument übergeben möchtest.
Nehmen wir mal an, dass deine VBS-Datei so aussieht:
message = WScript.Arguments.Item(0) MsgBox message
Dann kann ein Aufruf aus C# mit Argument-Übergabe so aussehen:
var vbsFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "ShowMessage.vbs"); var argument = String.Format("\"{0}\"", "Hallo Welt!"); Process.Start(vbsFile, argument);
Gruß
Marcel- Als Antwort vorgeschlagen Elmar BoyeEditor Montag, 3. Juni 2013 10:05
- Als Antwort markiert Zanz19 Montag, 3. Juni 2013 13:09
-
Hallo, mal geraten was du vor hast. Wenn du 2 Programme hast und Programm1 (C#) das Programm2 (VB) starten will. Dann musst du die Argumente für das Process-Objekt festlegen:
scriptProc.StartInfo.Arguments = "Das ist nun dein Argument";
Aber das ist nun wirklich nur geraten. In deinem VB-Programm musst du es dann auslesen. Wobei ich nun nicht weis ob du VB/VB.NET/... benutzt.<Code:13/> - Koopakiller [kuːpakɪllɐ]
Webseite | Code Beispiele | Facebook | Snippets
Wenn die Frage beantwortet ist, dann markiert die hilfreichsten Beiträge als Antwort und bewertet die Beiträge. Danke.
Einen Konverter zwischen C# und VB.NET Code gibt es hier. -
Hallo,
bitte gebe Dir etwas mehr Mühe mit Deinen Fragen und Multi-Postings machen man es auch nicht besser (auch wenn es hier beim Raten hilft):
Siehe Marcels Antwort und Working with Command-Line Arguments
Gruß Elmar