VB2010 Semikolon Problem

OP #2701844
Lesenswert?
• ▲
▼
Hallo Liebes Forum. Ich versuche gerade einen String mit Semikolons zu 
übergeben.

Der unten folgende Code funktioniert nicht :-). Wenn ich jedoch die 
System.Diagnostics.Process.Start("c:\test\main.exe " , "\test\ -vga") 
direkt befülle, findet er den Pfad. Wo iat mein Denkfehler?
1
 Private Sub SetApplicationAsChild(ByVal CallingApplication As String, ByVal p As System.Windows.Forms.Panel)
2
        Try
3
            Dim hProcess As System.Diagnostics.Process = System.Diagnostics.Process.Start(CallingApplication)
4
            hProcess.WaitForInputIdle()
5
            SetParent(hProcess.MainWindowHandle, p.Handle)
6
            ShowWindow(hProcess.MainWindowHandle, SW_MAXIMIZE)
7
        Catch ex As Exception
8
            MessageBox.Show(ex.Message.ToString(), "Info")
9
          End Try
10
    End Sub
11

12
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
13
        Const APP_NAME As String = Chr(34) & "c:\test\main.exe"
14
        Const APP_SEM As String = Chr(34) & " , " & Chr(34)
15
        Const APP_PARAM As String = "\test\ -vga" & Chr(34)
16
        Const APP As String = APP_NAME & APP_SEM & APP_PARAM
17

18
        'System.Diagnostics.Process.Start("C:\Datei.exe", "-Parameter")
19
        SetApplicationAsChild(APP, Panel1)
20
    End Sub
Persönliche Seite #2701880
Lesenswert?
• ▲
▼
Und was soll das Komma da?

Der Funktion System.Diagnostics.Process.Start müssen zwei Parameter 
übergeben werden.

Also musst Du Deiner Funktion SetApplicationAsChild auch diese beiden 
Parameter übergeben, damit Du sie dort beide an 
System.Diagnostics.Process.Start übergeben kannst.

Und die Anführungszeichen gehören da auch nicht hin.
1
 Private Sub SetApplicationAsChild(ByVal CallingApplication As String, ByVal Parameters As String, ByVal p As System.Windows.Forms.Panel)
2
        Try
3
            Dim hProcess As System.Diagnostics.Process = System.Diagnostics.Process.Start(CallingApplication, Parameters)
4
            hProcess.WaitForInputIdle()
5
            SetParent(hProcess.MainWindowHandle, p.Handle)
6
            ShowWindow(hProcess.MainWindowHandle, SW_MAXIMIZE)
7
        Catch ex As Exception
8
            MessageBox.Show(ex.Message.ToString(), "Info")
9
          End Try
10
    End Sub
11

12
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
13
        Const APP_NAME As String = "c:\test\main.exe"
14
        Const APP_PARAM As String = "\test\ -vga"
15

16
        SetApplicationAsChild(APP_NAME, APP_PARAM, Panel1)
17
    End Sub
OP #2701902
Lesenswert?
• ▲
▼
Ja, ich habe angefangen mit dem BSPL. wo Notepad eingebettet wurde und 
die APP wurde auch in meinem Panel1 angezeigt.
1
Private Sub SetApplicationAsChild(ByVal CallingApplication As String, ByVal p As System.Windows.Forms.Panel)
2
    Try
3
        Dim hProcess As System.Diagnostics.Process = System.Diagnostics.Process.Start(CallingApplication)
4
        hProcess.WaitForInputIdle()
5
        SetParent(hProcess.MainWindowHandle, p.Handle)
6
        ShowWindow(hProcess.MainWindowHandle, SW_MAXIMIZE)
7
    Catch ex As Exception
8
        MessageBox.Show(ex.Message.ToString(), "Info")
9
    End Try
10
End Sub
11

12
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
13
    Const APP_NAME As String = "notepad.exe"
14
    SetApplicationAsChild(APP_NAME, Panel1)
15
End Sub

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.