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 :

ShellExecute retourne file not found [Débutant]


Sujet :

VB.NET

  1. #1
    Membre éprouvé
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 015
    Billets dans le blog
    1
    Par défaut ShellExecute retourne file not found
    Bonjour, j'utilise ShellExecute dans l'espoir d'afficher un PDF:
    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
               Try
                     filename = "C:\TEST.PDF"
                    ret = ShellExecute(0, "Open", filename, "", "", 1)
                     Dim msg As String
                    If ret <= 32 Then
                        'There was an error
                        Select Case ret
                            Case SE_ERR_FNF
                                msg = "File not found"
                            Case SE_ERR_PNF
                                msg = "Path not found"
                            Case SE_ERR_ACCESSDENIED
                                msg = "Access denied"
                            Case SE_ERR_OOM
                                msg = "Out of memory"
                            Case SE_ERR_DLLNOTFOUND
                                msg = "DLL not found"
                            Case SE_ERR_SHARE
                                msg = "A sharing violation occurred"
                            Case SE_ERR_ASSOCINCOMPLETE
                                msg = "Incomplete or invalid file association"
                            Case SE_ERR_DDETIMEOUT
                                msg = "DDE Time out"
                            Case SE_ERR_DDEFAIL
                                msg = "DDE transaction failed"
                            Case SE_ERR_DDEBUSY
                                msg = "DDE busy"
                            Case SE_ERR_NOASSOC
                                msg = "No association for file extension"
                            Case ERROR_BAD_FORMAT
                                msg = "Invalid EXE file or error in EXE image"
                            Case Else
                                msg = "Unknown error"
                        End Select
                        MessageBox.Show(msg & CStr(ret), "Exper-PDF", MessageBoxButtons.OK, MessageBoxIcon.Error)
                    Else
                        MessageBox.Show(CStr(ret), "Exper-PDF", MessageBoxButtons.OK, MessageBoxIcon.Error)
                    End If
                Catch ex As Exception
                    MessageBox.Show(ex.ToString & "ret :" & CStr(ret), "Exper-PDF", MessageBoxButtons.OK, MessageBoxIcon.Error)
               End Try
    il me sort un code 2 "File not found", le fichier y est pourtant et avec tout les droits, quelqu'un sait-il d’où peut venir ce dysfonctionnement ?
    Merci beaucoup !

  2. #2
    Membre Expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Par défaut
    Essayer ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            Try
                System.Diagnostics.Process.Start("C:\TEST.PDF")
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  3. #3
    Membre éprouvé
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 015
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par infosam76 Voir le message
    Essayer ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            Try
                System.Diagnostics.Process.Start("C:\TEST.PDF")
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
    Merci pour ta réponse, c'est justement parce que process.Start() ne fonctionne pas que j'ai décidé d'utiliser la methode ShellExecute(), je tiens à signaler que process.Start fonctionne avec adobre reader 10 mais pas avec la version 11.
    Merci.

  4. #4
    Membre Expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Par défaut
    Merci pour ta réponse, c'est justement parce que process.Start() ne fonctionne pas que j'ai décidé d'utiliser la methode ShellExecute(), je tiens à signaler que process.Start fonctionne avec adobre reader 10 mais pas avec la version 11.
    Je viens d'installer la version 11 d'acrobat reader, et le code que je t'ai donné fonctionne très bien. Donc à mon avis le problème provient soit de ton PDF, soit de ton installation d'acrobat qui aura foiré quelque part.
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  5. #5
    Membre éprouvé
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 015
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par infosam76 Voir le message
    Je viens d'installer la version 11 d'acrobat reader, et le code que je t'ai donné fonctionne très bien. Donc à mon avis le problème provient soit de ton PDF, soit de ton installation d'acrobat qui aura foiré quelque part.
    Oui ça marche mais pas sur windows 8, c'est pour ça que je dois intervenir sur le code, je suis pas un spécialiste de windows aurais tu des pistes ?
    Merci

  6. #6
    Membre Expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Par défaut
    Je n'ai pas mon Windows 8 sous la main je ferais le test ce soir.

    Par contre je ne sais pas si cela pourrait changer quelque chose, mais essaie peut être en doublant le backslash

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.Diagnostics.Process.Start("C:\\TEST.PDF")
    Maintenant il y a peut-être une incompatibilité entre windows 8 et l'Acrobat (note que j'ai ré installer mon portable vendredi passé donc ce serais pas étonnant que j'ai l'acrobat reader 11 cela dépend de quand il est sortis).

    Pourrais-tu par hasard m'envoyer ton pdf (si rien de confidentielle ne s'y trouve) en pièce jointe sur la discutions pour que je fasse un test sur mon poste ?
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  7. #7
    Membre éprouvé
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 015
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par infosam76 Voir le message
    JPar contre je ne sais pas si cela pourrait changer quelque chose, mais essaie peut être en doublant le backslash

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.Diagnostics.Process.Start("C:\\TEST.PDF")
    Oui c'était exactement ça, merci encore !

  8. #8
    Membre Expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Par défaut
    A voir en C# il existe le @ donc tu aurais :

    Désolé de pas avoir pensé à cela plutôt mais j'ai testé hier et cela marchait aussi bien avec que sans.
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. table externe - file not found
    Par juin29 dans le forum Oracle
    Réponses: 9
    Dernier message: 07/12/2010, 11h52
  2. [Error] File not found: 'Unit1.DFM'
    Par aliwassem dans le forum Delphi
    Réponses: 1
    Dernier message: 08/04/2007, 07h13
  3. File not found
    Par mattyeux dans le forum ASP
    Réponses: 7
    Dernier message: 14/02/2007, 22h12
  4. Exception: TXMLDocument.LoadXMLFile File not found
    Par powerlog dans le forum XMLRAD
    Réponses: 12
    Dernier message: 09/08/2005, 10h29
  5. [Quartz][Tomcat] Jobs.xml file not found exception
    Par Arnaud Giuliani dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 05/08/2005, 09h20

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