Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [vb.net] nascondere finestra dos

    Salve ragazzi,

    ho la necessita di aprire da codice una finestra dos e di eseguire dei determinati comandi.
    Con il seguente codice funziona tutto perfettamente, l'unico problema e' che io voglio nascondere il prompt dei comandi, cioe non voglio renderlo visibile.
    Non ci riesco, nonostante
    .WindowStyle = ProcessWindowStyle.Hidden
    il prompt appare a video. Potete aiutarmi?

    codice:
                Dim pr As Process
                Dim args As New ProcessStartInfo("cmd.exe")
                With args
                    .RedirectStandardInput = True
                    .RedirectStandardOutput = True
                    .UseShellExecute = False
                    .WindowStyle = ProcessWindowStyle.Hidden
                End With
                pr = Process.Start(args)
                pr.StandardInput.WriteLine("comandi dos" & Convert.ToChar(13))
    
                pr.CloseMainWindow()
                pr.Close()

  2. #2
    Utente di HTML.it L'avatar di Vinsent
    Registrato dal
    May 2011
    Messaggi
    314
    Prova a sostituire:
    codice:
    .WindowStyle = ProcessWindowStyle.Hidden
    con:
    codice:
    .CreateNoWindow = True

  3. #3
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Perchè non metti i comandi in un file BAT ed esegui quello?

    Esempio, supponiamo che tu abbia un file comando.bat che fa la DIR del disco C e la scrive in un file txt:
    codice:
    @echo off
    dir c:\*.* > d:\programmi\dirC.txt
    Poi lo esegui così:
    codice:
            Using myProcess As New Process()
                Try
                    myProcess.StartInfo.UseShellExecute = False
                    myProcess.StartInfo.FileName = "d:\programmi\comando.bat"
                    myProcess.StartInfo.CreateNoWindow = True
                    myProcess.Start()
                Catch ex As Exception
                    Console.WriteLine((ex.Message))
                End Try
            End Using

  4. #4
    ok grazie mille ragazzi
    ho risolto seguendo il consiglio di Vinsent

    ovvero:
    .CreateNoWindow = True

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.