ShellExecute, pb avec hwnd

stephvb62 Messages postés 5 Date d'inscription mardi 3 février 2009 Statut Membre Dernière intervention 17 février 2009 - 17 févr. 2009 à 14:17
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 18 févr. 2009 à 06:42
Salut tout le monde,

j'ai trouvé sur le net une méthode pour ouvrir tout type de fichier depuis mon programme vb:
Le Pb est que je recois une erreur sur "hwnd" ->method or data member not found
S'agit-il d'un problème de bibliothèque?ou autre?
J'ai pu voir que hwnd signifie handle window, mais je ne sais comment le manipuler

'voila la fonction
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

ShellExecute Me.hwnd, "open", "Archivo", "", App.Path, 1


Merci d'avance pour votre aide

WIndows XP
office 2003 vb6.5

3 réponses

stephvb62 Messages postés 5 Date d'inscription mardi 3 février 2009 Statut Membre Dernière intervention 17 février 2009
17 févr. 2009 à 14:18
Archivo contient le lien,par exemple
Archivo=chemindemonfichier.pdf
0
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 77
17 févr. 2009 à 15:19
Salut
Oui, et bien tel que tu l'a écrit, 
   "open", "Archivo", 
Archivo est considéré comme une chaine, un texte, le nom du fichier.
Il te suffit de supprimer les "
   "open", Archivo,

Sans l'avoir essayé, il me semble qu'il faut répéter le nom du répertoire dans le nom du fichier, exemple :
   "open", App.Path & "" & Archivo,

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
18 févr. 2009 à 06:42
quant aa la question de base, tu n'en a rien a carer du hWnd
mets 0 te casses pas la tête.

c'est bien précisé dans la doc:

http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx

This value can be NULL if the operation is not associated with a window.

en gros, c'est juste utile si le process lancé a besoin de jouer avec une fenetre précise de l'application lancante
0
Rejoignez-nous