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 :

Problème handle ShellExecute


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 Problème handle ShellExecute
    Bonjour, j'essaie en vain d'utiliser ShellExecute pour afficher un PDF, j'ai trouvé un exemple dans le support Microsoft http://support.microsoft.com/kb/170918/fr , voici donc mon code :
    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
                Dim ret As Long
                Dim Scr_hDC As Long
                Try
                    Scr_hDC = GetDesktopWindow()
                    MessageBox.Show(filename, "Exper-PDF", MessageBoxButtons.OK, MessageBoxIcon.Error)
                    ret = ShellExecute(Scr_hDC, "Open", filename, "", "C:\TEMP\", 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, "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
    Le problème est qu'aucun message d'erreur ne s'affiche; le problème vient de l'initialisation de Scr_hDC (Scr_hDC = GetDesktopWindow()) pour en avoir le coeur net j'ai fait suivre cette instruction d'un affichage de MessageBox, qui ne s'affiche jamais non plus), dans d'autres topics j'ai vu qu'on pouvait récupérer un handle hwnd, mais je ne sais comment récupérer cette objet, ma fenêtre principale s'appelle MainPage et l'auto complétion ne me propose pas d'attribut hwnd.
    Merci beaucoup pour votre aide.

  2. #2
    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
    je m'auto répond
    En mettant 0 au handle j'obtiens une erreur "File not found"
    le filename a cette valeur "c:\Temp\toshiba-l300\ID0001.PDF"
    Le fichier y est, a part la casse il n'y a aucune différence entre filename est le chemin réel du fichier.
    Merci.

  3. #3
    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
    Comme je vous ai répondu sur votre autre post essayez 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

Discussions similaires

  1. Problème Handle CreateFile();
    Par taquilla dans le forum Windows
    Réponses: 3
    Dernier message: 30/07/2007, 14h27
  2. [VBA]Problème avec ShellExecute()
    Par Sunchaser dans le forum SDK
    Réponses: 1
    Dernier message: 24/06/2007, 19h27
  3. [VB6] problème Shell/Shellexecute
    Par Mandarine dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 08/08/2006, 00h31
  4. Problème avec ShellExecute
    Par Xav++ dans le forum C++Builder
    Réponses: 5
    Dernier message: 29/05/2006, 13h58
  5. Problème avec ShellExecute
    Par SkYsO dans le forum Langage
    Réponses: 7
    Dernier message: 16/11/2005, 16h52

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