3 pièce(s) jointe(s)
Upload d'une image - Utilisation API Windows
Bonjour,
J'ai un petit problème car je dois rajouter une image sur un site internet mais quand je rajoute l'image la charge ne se recharge pas, je pense qu'il n'y a donc pas de requête qui se fait.
Voilà ce que je dois faire:
1) Cliquer sur le bouton parcourir
2) Sélectionner un fichier dont je connait le chemin au préalable
3) Cliquer sur OK
Pièce jointe 214724
La première étape est toute simple à faire, j'ai simplement chercher le bouton avec son ID puis j'ai cliquer dessus.
C'est lors de la deuxième étape que je suis complètement bloquer, j'ai essayer de copier mon chemin dans le presse papier puis de faire un sendkeys(^{v}) car la zone Nom du Fichier est directement sélectionner après appui du bouton mais ça ne marche pas, j'ai donc eu l'idée d'utiliser l'API Windows, j'ai réussi à trouver le nom de la classe de la fenêtre qui s'ouvre:
Pièce jointe 214725
C'est #32770.
J'ai ensuite utiliser ce code pour voir si la fenêtre est bien trouvée:
Code:
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
|
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As Long) As Long
Sub GetWindowHandle()
Dim hWnd As Long
' Call the FindWindow API; this API returns a window handle.
hWnd = FindWindow("#32770", 0&)
' Check if you were able to obtain the Window handle.
If hWnd <> 0 Then
' If hwnd not zero a window handle was obtained.
MsgBox "Successfully obtained Window Handle (HWND) for " _
& "PowerPoint.", vbInformation, "Got Handle"
Else
MsgBox "Could not obtain Window Handle (HWND) for PowerPoint.", _
vbInformation, "Failed To Get Handle"
End If
End Sub |
Et il affiche bien la fenêtre "Successfully obtained Window Handle (HWND)" avec hwnd qui vaut 2885718
EDIT:
J'ai créé le code suivant:
Code:
1 2 3 4
| Set BtnPhoto = IEDoc.getElementsByName("gis_antenna[photo_filename]")(0)
BtnPhoto.Click
hwnd = FindWindow("#32770", 0&)
SendMessage hwnd, 12, 0, "Ceci est 1 test !" |
Mais ce code ne marche pas car en gros la fenêtre de l'explorateur windows marche comme un point d'arrêt pour le programme, c'est à dire qu'il attend que je fasse quelquechose sur la fenêtre pour continuer le programme:
Pièce jointe 214737
Comment faire ?
Merci d'avance.