Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197

    [vb.net] shell e thread

    lancio un file ".cmd" che esegue delle operazioni
    successivamente cancello il file ".cmd"
    l'operazioni contenute nel file config non vanno a buon fine ma se dopo la chiamata al file .cmd
    metto una pausa di qualche secondo allora va tutto bene

    mi chiedevo se file lanciati con la shell vengono eseguiti in un altro processo?
    c'e' un modo per sapere se l'operazione lanciata in quel modo è terminata.
    codice:
    Shell("c:\popola_db.cmd")
    System.Threading.Thread.CurrentThread.Sleep(7000)  // se metto una pausa funziona
    File.Delete( "c:\popola_db.sql")

  2. #2
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    usa e informati sulla classe process cosi risolverai tutto.

  3. #3
    Non usare mai le funzioni di compatibilità con VB6 (come la Shell), usa le classi che il framework mette a disposizione, in questo caso (come ti è già stato suggerito) la System.Diagnostics.Process.
    Comunque il problema è già stato trattato in passato.
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197
    ok grazie dell'indicazione, ho risolto cosi
    codice:
    Dim myProc As New System.Diagnostics.Process()
                myProc.StartInfo.FileName = "c:\popola_db.cmd"
                myProc.StartInfo.CreateNoWindow = True
                myProc.Start()
    
                While Not (myProc.HasExited)
                    'METTO IN PAUSA FINCHE IL PROCESSO NON è TEMINATO
                    System.Threading.Thread.CurrentThread.Sleep(500)
                End While
    
               File.Delete("c:\popola_db.sql")

    ma ora che che ho visto anche la discussione passata, optero per il WaitForExit

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.