Neuen CMD ,Batch, Dos, eingabeauforderung Befehl erstellen
- VB.NET
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 21 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.
-
-
-
Du musst wissen,Cmd ist nur en Commandline Interpreter d.h. gibst du z.B.
ipconfig
ein,dann startest du eigentlich nur die IPConfig.exe im Windows Verzeichnis(oder system32..keine ahnung).
D.h. der Befehl wäre eig
Du müsstest also vorher deine Executable ins System verzeichnis legen,aber willst du das dem User der das Programm nutzt wirklich antun? -
-
-
Dim Programmer as string schrieb:
ich will eine Anwendung machen
Fang an und erstell Dir ein kleines Testprojekt und probiere, darinDim Programmer as string schrieb:
mit my.computerFalls 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! -
ich weis das es mit my.computer geht ich versuche schon die ganze zeit aus einer einzigen zeile (in der exe) die befehle aus zulesen so das ich praktisch gesagt wenn meine exe play Heist so das ich nur play.exe Music.wav eingeben muss.
Also nicht das ich play und dann enter drücke um dann den namen der *.wav datei einzugeben einzugeben da ich dies etwas nervig finde, ich weiß im moment auch nicht ob man die zwei variablen in einer zeile (in der exe) bestimmen kann -
-
-
Wenn Du Dich hinsetzt und das ein bisschen probierst, dann kommst Du schnell von selber dahinter. Mach Dir ne Konsolenanwendung und spiel ein bisschen mit dem, was ich Dir geschrieben habe rum. Das ist keine Raketenwissenschaft.Die Unendlichkeit ist weit. Vor allem gegen Ende.
Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. -
warum geht das script nicht eigentlich ist doch alles richtig oder übersehe ich da was :?:
VB.NET-Quellcode
- Imports System
- Module Module1
- Dim startm As String
- Sub Main()
- Dim Parameter() As String = Environment.GetCommandLineArgs().ToArray
- For i = 0 To Parameter.Length - 1
- If Parameter(i).ToString.Contains("-s") Then
- Dim Music As String = Parameter(i)
- ' Music = Music.Replace("-st", Nothing)
- Music = Music.Replace("-s", Nothing)
- Music = Music.Replace("-", " ")
- startm = Music
- MsgBox(Music)
- My.Computer.Audio.Play(startm, AudioPlayMode.Background)
- ElseIf Parameter(i) = "-st" Then
- My.Computer.Audio.Stop() End If
- Next
- End Sub
- End Module
-
-
-
So in Etwa würd ichs machen.
VB.NET-Quellcode
- Imports System.IO
- Imports System.Media
- Module Module1
- Sub Main()
- For Each s As String In Environment.GetCommandLineArgs()
- If s.ToLower().StartsWith("/s=") AndAlso s.ToLower().EndsWith(".wav") Then
- Dim soundToPlay As String = s.Replace("/s=", "")
- If File.Exists(soundToPlay) Then
- Try
- Dim player As New SoundPlayer(soundToPlay)
- player.Play()
- Catch ex As Exception
- Console.WriteLine("Der Sound {0} konnte nicht wiedergegeben werden", soundToPlay)
- End Try
- End If
- End If
- Next
- End Sub
- End Module
Da auch der SoundPlayer aus dem .Media-Namespace nur wav´s abspielt, solltest Du vorher prüfen, ob das übergebene Argument auch auf .wav endet, was aber noch keine Garantie dafür ist, dass es auch abgespielt werden kann. Somit kannst Du das Erzeugen des SoundPlayers und den Funktionsaufruf .Play() in einen Try-Catch-Block packen. Alterantiv kannst Du auch My.Computer.Audio.Play verwenden, wenn Dir das lieber ist. Ich persönlich meide den My-Namespace.
Jedes Commandozeilenargument wird durch ein Leerzeichen getrennt. Also musste darauf achten, dass Du keine Leerzeichen zwischen den Argumenten hast... Nehmen wir an, Deine .exe heisst playSound.exe, dann erfolgt der Aufruf so.
Die Unendlichkeit ist weit. Vor allem gegen Ende.
Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. -
-
-
Dim Programmer as string schrieb:
bedenke ich habe vb 2010 (ich weiß nicht wie weit es das programm beeinträchtigt
Du vermengst hier 2 Teilaufgaben und suchst den Fehler ggf. an einer ganz falschen Stelle.
1. Du musst stets den ganzen Pfad zur WAV-Datei übergeben.
2. Teste den CmdLineParameter unabhängig vom Player.
Schreib Dir zunächst mal den Pfad einer WAV-Datei hart in Dein Programm und bringe den Player zum Laufen.
Danach befasse Dich mit der Parameterübergabe.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! -
-
Mach das mal testweise in einer WinForm-Anwendung.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! -
VB.NET-Quellcode
- Dim parameter() As String = Environment.GetCommandLineArgs().ToArray
- For i = 1 To parameter.Length
- 'me.listbox1.items.add(AlleParameter(i))
- '--Check if exist file
- If My.Computer.FileSystem.FileExists(parameter(i).ToString) Then
- My.Computer.Audio.Play(parameter(i).ToString, AudioPlayMode.Background)
- Else
- MsgBox("DIe angegebene datei ist keine *.wav datei!")
- End If
- Next
Aber ich kriege eine fehler meldung aber ich sehe keinen fehler es sagt mir zeile 4 aber ich habe doch eigentlich alles richtig geschrieben
oder sehe ich das faltsch?
-
Tags
-
Ähnliche Themen
-
Jannik S. - - Sonstige Problemstellungen
-
vb-e_nfänger - - Sonstige Problemstellungen