IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

[VB.NET] Process défaillant!


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 130
    Par défaut [VB.NET] Process défaillant!
    Bonjour à tous,

    Suite à une calvitie dûe à un arrachage de cheveux, je m'en remets à vous pour m'aider...
    Je développe un site avec visual studio lequel donne accès à certains fichiers...
    J'aimerais les ouvrir en faisant process.start("nomdufichier")...
    Mais ça ne fonctionne pas.
    Le processus se lance bien mais aucune fenêtre n'est affichée.
    Le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
           Dim monProcess As New Process()
           monProcess.StartInfo.FileName = Me.lst_Files.SelectedValue
           monProcess.StartInfo.CreateNoWindow = True
           monProcess.StartInfo.WindowStyle = ProcessWindowStyle.Maximized
           monProcess.StartInfo.LoadUserProfile = True
           monProcess.Start()
    J'ai essayé aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim x = Shell(Me.lst_Files.SelectedValue, 3, True)
    Mais là il ne reconnait pas le fichier. Le champ Me.lst_File... est bien rempli. J'ai aussi essayé des application simples avec le même résultat pour les 2.
    Enfin voilà... J'ai fouillé tous les forums possibles et imaginables... J'ai même trouvais des gens qui voulais faire l'inverse...

    Merci à ceux qui jetterons un oeil à mon problème!

  2. #2
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    En retirant la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monProcess.StartInfo.CreateNoWindow = True
    et peut être aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monProcess.StartInfo.LoadUserProfile = True
    ?

    Sinon si tu fais un site et que le code est dans une page ASP.Net, le code est exécuté sur le serveur, pas chez le client ...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 130
    Par défaut
    Je sais et c'est pour celà que je galère!!
    Pour tes 2 solutions,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monProcess.StartInfo.CreateNoWindow = True
    => il me demande de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monProcess.StartInfo.UseShellExecute = True
    à false et lorsque je fais ça, l'appli plante.

    De même avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monProcess.StartInfo.LoadUserProfile = True
    J'essai de trouver une solution... même en modifiant les fonctions...
    Soit que le client puisse le télécharger ou avoir un accès en lecture...
    Mais je en trouve rien qui passe...

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Mais je ne comprends pas ce que tu veux faire.

    Ouvrir une fenetre sur le serveur ? quel interêt ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 130
    Par défaut
    Ben nan, ouvrir un fichier enregistré sur le serveur sur le poste du client.

    En deuxième lieu, ne donner les droits qu'en lecture au client.

    Au pire lui permettre simplement de le télécharger.

    Et le tout sur VB.NET...

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par Kalion Voir le message
    Ben nan, ouvrir un fichier enregistré sur le serveur sur le poste du client.

    En deuxième lieu, ne donner les droits qu'en lecture au client.

    Au pire lui permettre simplement de le télécharger.

    Et le tout sur VB.NET...

    Mais ton code Process.Start tu l'exécute sur le serveur, non ? alors comment veux tu que cela ouvre quelque chose sur le client ?

    (ou alors tu es en client lourd, mais comme tu dis que tu développes un site, cela m'étonnerait beaucoup).

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 130
    Par défaut
    Muay...
    J'avoue...
    C'est pas très logique...
    Le pire dans tout ça est que je travail en local et que ça aurait du marcher malgré tout...
    Bref, je continue de chercher une solution... Je t'avouerais qu'en fin de journée mes capacités cognitives se trouvent réduites!!!
    Si jamais tu connais une fonction ou une piste ça m'aiderait!!
    Merci en tout cas!

  8. #8
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par Kalion Voir le message
    Muay...
    J'avoue...
    C'est pas très logique...
    Le pire dans tout ça est que je travail en local et que ça aurait du marcher malgré tout...
    Non, car IIS n'a pas accés au Desktop.
    Bref, je continue de chercher une solution... Je t'avouerais qu'en fin de journée mes capacités cognitives se trouvent réduites!!!
    Si jamais tu connais une fonction ou une piste ça m'aiderait!!
    Merci en tout cas!
    Il y en a 3 :

    - servlet en Java
    - JavaScript
    - ActiveX embarqué sur le Browser.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 130
    Par défaut
    Je rajoute une 4ième réponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    Dim iStream As System.IO.Stream
            ' Buffer to read 10K bytes in chunk:
            Dim buffer(10000) As Byte
            ' Length of the file:
            Dim length As Integer
            ' Total bytes to read:
            Dim dataToRead As Long
            ' Identify the file to download including its path.
            Dim filepath As String = Me.lst_Files.SelectedValue
            ' Identify the file name.
            Dim filename As String = System.IO.Path.GetFileName(filepath)
            Try
                ' Open the file.
                iStream = New System.IO.FileStream(filepath, System.IO.FileMode.Open, _
                                                       IO.FileAccess.Read, IO.FileShare.Read)
                ' Total bytes to read:
                dataToRead = iStream.Length
                Response.ContentType = "application/octet-stream"
                Response.AddHeader("Content-Disposition", "attachment; filename=" & filename)
                ' Read the bytes.
                While dataToRead > 0
                    ' Verify that the client is connected.
                    If Response.IsClientConnected Then
                        ' Read the data in buffer
                        length = iStream.Read(buffer, 0, 10000)
                        ' Write the data to the current output stream.
                        Response.OutputStream.Write(buffer, 0, length)
                        ' Flush the data to the HTML output.
                        Response.Flush()
                        ReDim buffer(10000) ' Clear the buffer
                        dataToRead = dataToRead - length
                    Else
                        'prevent infinite loop if user disconnects
                        dataToRead = -1
                    End If
                End While
     
            Catch ex As Exception
                ' Trap the error, if any.
                Response.Write("Error : " & ex.Message)
            Finally
                If IsNothing(iStream) = False Then
                    ' Close the file.
                    iStream.Close()
                End If
            End Try
     
     
        End Sub
    Il y a plus simple en évitant de tester la taille du fichier.
    Je suis tombé sur cette fonction par hazard en faisant des recherches pour du JAVASCRIPT...
    Bref un gros coup de pot qui fonctionne au poil!!

    Il ouvre une fenêtre de téléchargement avec le fichier voulu!!!

    Encore merci à toi Bluedeep car j'ai trouvé grace à toi ^^
    J'espère que ce code en aidera d'autres car j'ai vraiment cherché lgtps pour le trouver!

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 130
    Par défaut
    Maintenant je pars à la recherche de l'ouverture de mail pré-remplis Outlook!!!

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/08/2006, 13h46
  2. [VB.NET] vb.net : process et interval de temps
    Par 1coni dans le forum Windows Forms
    Réponses: 10
    Dernier message: 05/06/2006, 10h10
  3. Réponses: 8
    Dernier message: 01/06/2006, 11h14
  4. vb.net : process & argument
    Par 1coni dans le forum Windows Forms
    Réponses: 10
    Dernier message: 31/05/2006, 16h17
  5. [vb.net]process
    Par 1coni dans le forum Windows Forms
    Réponses: 5
    Dernier message: 30/05/2006, 19h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo