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

    Funziona con Shell + NomeFile, ma NON FUNZIONA con la classe Process (+ NomeFile)

    Un paio di settimane fa ho iniziato un 3D (http://forum.html.it/forum/showthrea...readid=2916848) che in parte ha brillantemente risolto il problema.
    Nell'ultimo post di quel 3D, tuttavia, avevo accennato a un'eccezione che, forse, non è stata notata.

    Per farla breve:

    Con il comando Shell + NomeFile è possibile lanciare un programma che apre un file. Per esempio, nell'ipotesi che NomeFile = " MioTesto.TXT"

    Shell ("C:\wordpad.exe" & NomeFile , AppWinStyle.NormalNoFocus)


    Usando la classe Process, invece, VisualBasic visualizza sempre il messaggio "Impossibile trovare il file specificato".

    Con quale sintassi è possibile lanciare un programma e fargli aprire un file?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quote Originariamente inviata da GrandeTimoniere Visualizza il messaggio
    Con quale sintassi è possibile lanciare un programma e fargli aprire un file?

    Ma che codice hai usato con la classe Process (dato che dici che non ha funzionato)?

    Ma poi il programma wordpad.exe sta in C:\ ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Quote Originariamente inviata da oregon Visualizza il messaggio
    1) Ma che codice hai usato con la classe Process (dato che dici che non ha funzionato)?

    2) Ma poi il programma wordpad.exe sta in C:\ ?
    1) Ho iniziato il post proprio indicando il link dove trovare l'intero codice: Un paio di settimane fa ho iniziato un 3D (http://forum.html.it/forum/showthrea...readid=2916848) che in parte ha brillantemente risolto il problema.

    2) Ovvio (vedi link precedente).

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    1) Abbi pazienza ... il tempo è quello che è per rispondere, non rimandare ad altri lunghi thread ... mostra il codice a cui fai riferimento in questo thread e dicci in quali condizioni hai l'eccezione.

    2) Tanto ovvio non è perché non si inseriscono gli eseguibili nella root. Perché mai quel programma non sta in \Windows\System32 o simili cartelle incluse nel path?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Quote Originariamente inviata da oregon Visualizza il messaggio
    1) Abbi pazienza ... il tempo è quello che è per rispondere, non rimandare ad altri lunghi thread ... mostra il codice a cui fai riferimento in questo thread e dicci in quali condizioni hai l'eccezione.

    2) Tanto ovvio non è perché non si inseriscono gli eseguibili nella root. Perché mai quel programma non sta in \Windows\System32 o simili cartelle incluse nel path?
    Ciò che ho digitato era solo una semplificazione. Comunque, ecco codice e form:


    2014_10_30_HTML_Process.jpg

    Imports System
    Imports System.Diagnostics
    Imports System.ComponentModel
    Public Class Form1
    Public Aperto As Boolean
    Public X As Process
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim Programma As New Process()
    If Aperto = True Then
    If X.HasExited = False Then
    X.Kill() : Aperto = False
    Else
    Aperto = False
    End If
    End If
    If Aperto = False Then
    Programma.StartInfo.UseShellExecute = False

    Programma.StartInfo.FileName = TextBox1.Text REM & " " & TextBox2.Text REM IMPOSSIBILE TROVARE IL FILE SPCIFICATO

    Programma.StartInfo.CreateNoWindow = False
    Programma.Start()
    X = Programma
    Aperto = True
    End If
    End Sub
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Aperto = False
    End Sub
    End Class

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    codice:
            Programma.StartInfo.FileName = TextBox1.Text
            Programma.StartInfo.Arguments = TextBox2.Text
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Quote Originariamente inviata da oregon Visualizza il messaggio
    codice:
            Programma.StartInfo.FileName = TextBox1.Text
            Programma.StartInfo.Arguments = TextBox2.Text
    Grazie mille!

    In effetti mi interstardivo a usare la stessa sintassi di Shell!

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Prego ... il consiglio è di lasciar perdere quello che utilizzavi con VB6/VBA e studiare - in maniera approfondita - le classi messe a disposizione dal framework, in questo caso, la classe Process.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Tag per questa discussione

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.