Exe ohne Fenster aus vb aufrufen
Hallo Zusammen,
ich erstelle gerade ein Programm mit Visual Studio und möchte eine exe aufrufen ohne das ein Fenster erscheint.
so funktioniert das:
jetzt zu meinem Problem:
wie bekomme ich das
wie bekomme ich das in zeile 2 nach Then hinein???
hatte das schon am laufen mit process.start(C:\solutio\client\charly\solutio\dbbackup.exe am laufen.
nur da kommt ein Commandfenster wenn ich die dbbackup.exe aufrufe, und das möchte ich nicht.
nach vielem probieren funktioniert das auch nicht mehr..
jetzt bekomme ich einen end if fehler wenn ich das nach dem "Then" process.start(C:\solutio\client\charly\solutio\dbbackup.exe einfüge???
Hoffe Ihr könnt mir helfen...
Grüße Frank
Nachtrag:
soweit so gut.... funzt alles soweit... nur das die dbbackup.exe ohne fenster läuft bekomm ich nicht hin...
mit process.start kann ich das Fenster nicht unterdrücken
und mit dieser Variante bekomme ich:
Fehler 1 "WshShell" wurde nicht deklariert. Auf das Objekt kann aufgrund seiner Schutzstufe möglicherweise nicht zugegriffen werden. C:\Users\Frank\documents\visual studio 2012\Projects\WindowsApplication1\WindowsApplication1\Form1.vb 88 13 WindowsApplication1
Für einen guten Tipp wäre ich dankbar.
ich erstelle gerade ein Programm mit Visual Studio und möchte eine exe aufrufen ohne das ein Fenster erscheint.
so funktioniert das:
set WshShell = WScript.CreateObject("WScript.Shell")
Return = WshShell.Run("C:Solutio\Client\Charly\solutio.app\dbbackup.exe", 0, True)
Set WshShell = Nothing
jetzt zu meinem Problem:
wie bekomme ich das
Private Sub CheckboxIntDasi_Click(sender As Object, e As EventArgs) Handles CheckboxIntDasi.CheckedChanged
If CheckboxIntDasi.Checked = True Then
CheckBoxExtDasi.CheckState = CheckState.Unchecked
CheckBoxMail.CheckState = CheckState.Unchecked
CheckBoxSMS.CheckState = CheckState.Unchecked
CheckBoxfrei.CheckState = CheckState.Unchecked
End If
End Sub
wie bekomme ich das in zeile 2 nach Then hinein???
hatte das schon am laufen mit process.start(C:\solutio\client\charly\solutio\dbbackup.exe am laufen.
nur da kommt ein Commandfenster wenn ich die dbbackup.exe aufrufe, und das möchte ich nicht.
nach vielem probieren funktioniert das auch nicht mehr..
jetzt bekomme ich einen end if fehler wenn ich das nach dem "Then" process.start(C:\solutio\client\charly\solutio\dbbackup.exe einfüge???
Hoffe Ihr könnt mir helfen...
Grüße Frank
Nachtrag:
soweit so gut.... funzt alles soweit... nur das die dbbackup.exe ohne fenster läuft bekomm ich nicht hin...
mit process.start kann ich das Fenster nicht unterdrücken
Private Sub Cmdauswahl_Click(sender As Object, e As EventArgs) Handles Cmdauswahl.Click
If CheckboxIntDasi.Checked = True Then
WshShell.Run("C:Solutio\Client\Charly\solutio.app\dbbackup.exe", 0, True)
End If
End Sub
und mit dieser Variante bekomme ich:
Fehler 1 "WshShell" wurde nicht deklariert. Auf das Objekt kann aufgrund seiner Schutzstufe möglicherweise nicht zugegriffen werden. C:\Users\Frank\documents\visual studio 2012\Projects\WindowsApplication1\WindowsApplication1\Form1.vb 88 13 WindowsApplication1
Für einen guten Tipp wäre ich dankbar.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 240854
Url: https://administrator.de/forum/exe-ohne-fenster-aus-vb-aufrufen-240854.html
Ausgedruckt am: 15.04.2025 um 12:04 Uhr
12 Kommentare
Neuester Kommentar
Hallo Frank,
Weitere Eigenschaften und Beispiele für das ProcessStartinfo-Objekt kannst du in der Referenz nachlesen:
http://msdn.microsoft.com/de-de/library/system.diagnostics.processstart ...
Grüße Uwe
Dim proc As New Process()
proc.StartInfo.FileName = "C:\solutio\client\charly\solutio\dbbackup.exe"
proc.StartInfo.CreateNoWindow = True
proc.Start()
proc.WaitForExit()
http://msdn.microsoft.com/de-de/library/system.diagnostics.processstart ...
Grüße Uwe
wrong!
Private Sub CheckboxIntDasi_Click(sender As Object, e As EventArgs) Handles CheckboxIntDasi.CheckedChanged
If CheckboxIntDasi.Checked = True Then
Dim proc As New Process()
proc.StartInfo.FileName = "C:\solutio\client\charly\solutio\dbbackup.exe"
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
proc.StartInfo.UseShellExecute = false
proc.Start()
proc.WaitForExit()
CheckBoxExtDasi.CheckState = CheckState.Unchecked
CheckBoxMail.CheckState = CheckState.Unchecked
CheckBoxSMS.CheckState = CheckState.Unchecked
CheckBoxfrei.CheckState = CheckState.Unchecked
End If
End Sub
so wie ich das jetzt auf meinen Smartphone sehen kann sollte das reichen:
wenn du auf das Ende der Datensicherung warten willst musst du noch ein proc.WaitForExit() hinten anfügen.
Ansonsten morgen wieder wenn ich am
Rechner sitze
Grüße Uwe
Private Sub Cmdauswahl_Click(sender As Object, e As EventArgs) Handles Cmdauswahl.Click
If CheckboxIntDasi.Checked = True Then
Dim proc As New Process()
proc.StartInfo.FileName = "C:\solutio\client\charly\solutio\dbbackup.exe"
proc.StartInfo.CreateNoWindow = True
proc.Start()
End if
End Sub
Ansonsten morgen wieder wenn ich am
Rechner sitze
Grüße Uwe
OK dann hilft eventuell noch ein angehängtes CloseMainWindow() bei hartnäckigen Verweigerern 
alternativ gibt es noch folgende Methode die du bei dem Programm probieren kannst, welches das Äquivalent zum VBS Code ist:
Ohne weitere Info zum Programm ist das hier ansonsten schwer ...
Grüße Uwe
Dim proc As New Process
proc.StartInfo.CreateNoWindow = True
proc.StartInfo.FileName = "C:Solutio\Client\Charly\solutio.app\dbbackup.exe"
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
proc.StartInfo.UseShellExecute = False
proc.Start()
proc.CloseMainWindow()
Shell("C:Solutio\Client\Charly\solutio.app\dbbackup.exe", AppWinStyle.Hide)
Grüße Uwe
Zitat von @Mit.ohne.Ahnung:
Zu meinem (Anfänger) verständnis.....
Das proc.CloseMainWindow() macht doch nichts anderes als das Fenster zu schließen das zuvor aufgerufen wurde... aber der
Prozess läuft weiter???
ja kannst du ja im Taskmanager überprüfen Zu meinem (Anfänger) verständnis.....
Das proc.CloseMainWindow() macht doch nichts anderes als das Fenster zu schließen das zuvor aufgerufen wurde... aber der
Prozess läuft weiter???
http://msdn.microsoft.com/de-de/library/system.diagnostics.process.clos ...
Auch nette Grüße aus der Eifel
Uwe