WD8 Comment récupérer le handle d'un champ non windev
Bonjour,

J'ai trouvé comment déclarer l'objet EnvoieTouche pour lancer Internet Explorer : le nom de classe de l'application est IEFrame
Voici le code qui fonctionne ...
clIE est un objet cEnvoieTouche("C:\Program Files\Internet Explorer\IEXPLORE.EXE","IEFrame")

Mais mon problème est le suivant :
Comment récupérer le handle du champ quelconque de la page internet dans lequel j'ai cliqué : exemple champ du mot de passe de la page d'inscription à un forum ?

Merci d'avance de me préciser le code

Contribution le : 12/11/2004 09:29
Créer un fichier PDF de la contribution Imprimer


Re: WD8 Comment récupérer le handle d'un champ non windev
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Des programmes spécifiques permettent de récupérer les informations sur l'objet qui permette d'obtenir le Handle de l'objet.

Voir Spy de Visual studio.

Contribution le : 12/11/2004 20:55
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: WD8 Comment récupérer le handle d'un champ non windev
Bonjour,

Ce n'est pas tout à fait la réponse que j'attendais.
Les prix du logiciel que tu me conseilles sont vraiment très excessifs.

Je reprécise donc ma question.

L'exemple "Windev8 envoietouche" montre comment utiliser cette fonction pour envoyer une texte dans un champ de NotePad, WordPad, Word ou Excel lorsque ces applications sont lancées extérieurement à Windev.

En partant de ces exemples je souhaite utiliser la même procédure pour envoyer un texte ( identifiant ou mot de passe par exemple ) dans un champ d'une page affichée sous Internet Explorer.

J'ai pu faire cette opération facilement en démarrant I.E dans l'activex de webbrowser : j'ai utilisé par exemple la commande suivante ...
VersPressePapier(SansEspace(IDENTIFIANT))
FenInternet.ActiveX1>>execWB(13,0,0,0)
... pour envoyer le contenu du presse-papier dans le champ de la page internet que j'ai préalablement sélectionné par un clic de souris

Le problème est que cette procédure oblige à utiliser le navigateur Webbrowser qui n'est pas indépendant de Windev.

Donc je veux simplement savoir s'il est possible d'utiliser envoietouche avec Internet Explorer pour charger un champ préalablement sélectionné comme je l'ai fait sous webbrowser et si oui comment pratiquer.

Merci d'avance










Contribution le : 14/11/2004 09:15
Créer un fichier PDF de la contribution Imprimer


Re: WD8 Comment récupérer le handle d'un champ non windev
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour gp13,

Tu as bien fait de reposer ta question car je n'avais pas bien compris ce que tu voulais faire.

Pour faire ce que tu demande il faut utiliser la fonction HTTPRequête().
Cette fonction de nécessite aucune interface visible.
Je te redirige vers une réponse que j'ai déjà faite à ce sujet ici
Exemple de code
SI PAS HTTPRequête("http://www.fininfo.fr/fininfo/GetChanges.event?DeviseInSelector=USD&DeviseOutSelector=EUR")ALORS RETOUR

'DeviseInSelector' et 'DeviseOutSelector' sont les noms des champs contenu dans la page HTML
Pour récupérer les noms de champs il suffit de sauvegarder la page en local et via une editeur web d'identifier le nom des champs à remplir.

La syntaxe à utiliser est de la forme :
?=

Chaque champ doit etre séparé par un &

Contribution le : 14/11/2004 19:49
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer



Re: WD8 Comment récupérer le handle d'un champ non windev
Bonjour,

Et merci de ta réponse elle avance déjà dans le sens que j'attendais.
Cependant tes exemples ne concernent que de la récupération d'informations.
Mon problème est un peu différent dans le sens ou après avoir trouvé le champ il faut que je lui charge l'info.
Je n'arrive pas à savoir comment je dois agir

Voici par exemple le source du forum de Clubic
Mon Pseudo : 
Mon Mot de Passe :
Comment par exemple charger la zone du mot de passe ?
Quel nom est celui du champ ?
Comment combiner HTTPREQUETE et le chargement du mot de passe dans ce champ ?

J'ai utilisé ce code ...
WResultat est un booléen
WResultat = HTTPRequête("http://www.clubic.com/mon/login.php?dest=http%3A%2F%2Fforum.clubic.com/?motdepasse") // est ce que ce code est ok pour cet exemple

SI WResultat = Vrai ALORS
clIE:Envoyer(TEXTE) // utilise envoietouche
Info("Trouvé")
SINON
Info("Non trouvé")
FIN
...je sors bien par trouvé mais le mot de passe n'est pas chargé

C'est très nébuleux pour mon petit esprit

Merci de m'aider







Contribution le : 15/11/2004 09:44
Créer un fichier PDF de la contribution Imprimer


Re: WD8 Comment récupérer le handle d'un champ non windev
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

En suivant les instructions cité dans mon précédent post.
j'ai tout d'abord créer un compte sur cubic.com puis
J'ai ouvert la page:
http://www.clubic.com/mon/login.php
puis j'ai enregistré la page en local, et via frontpage j'ai relevé les noms deux champs:
-surnom
-motdepasse
j'ai testé l'adresse
http://www.clubic.com/mon/login.php?surnom=drcharly93&motdepasse=
et ma connexion est effectué

il n'est pas nécessaire d'envoyer du texte, il s'agit juste de passer l'adresse avec la valeur des champs a l'activex Web qui doit etre navigate2 de souvenir
clIE:Navigate2("http://www.clubic.com/mon/login.php?surnom=&motdepasse=")
)
Navigate2 est une méthode du WebBrowser de microsoft.

Contribution le : 15/11/2004 10:17
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: WD8 Comment récupérer le handle d'un champ non windev
Merci pour ta solution est super simple

Ton exemple sur le forum de clubic marche très bien pour moi aussi

Par contre ça ne marche pas pour d'autres forums y compris celui de wdforge

J'utilise ce code
lanceappliassociee("http://old.wdforge.org/user.php?uname=gp13&pass=monmotamoi")

La page d'identification s'ouvre mais ne prend pas en compte le user et le mot de passe

Ou est le problème ?

Contribution le : 15/11/2004 14:56
Créer un fichier PDF de la contribution Imprimer


Re: WD8 Comment récupérer le handle d'un champ non windev
Romanops
C'est un problème au niveau recpetion :

En php, pour lire les variables passées en POST, on fait : $_POST['maVariable'], pour les variables passées en GET : $_GET['maVariable']

Je cherche moi comment simuler un POST via la barre d'adresse... est-ce que c'est possible ?

Contribution le : 29/11/2005 15:50
Créer un fichier PDF de la contribution Imprimer


Re: WD8 Comment récupérer le handle d'un champ non windev
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
Jeunes padawans jamais de bon Jedi ne seront.
WDForge.org, contre ces procédés, est protégé.
Ailleurs, votre test, devez vous faire.

Contre le coté obscur nous combattons.

Contribution le : 29/11/2005 16:31
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


Re: WD8 Comment récupérer le handle d'un champ non windev

Inscrit:
19/11/2002 12:20
Post(s): 390
Citation :

Romanops a écrit:
C'est un problème au niveau recpetion :

En php, pour lire les variables passées en POST, on fait : $_POST['maVariable'], pour les variables passées en GET : $_GET['maVariable']

Je cherche moi comment simuler un POST via la barre d'adresse... est-ce que c'est possible ?


C'est possible de le faire en POST... Il suffit de lire l'aide de Windev c'est marqué dedans et d'ailleurs ce sujet a déjà été abordé...

Ceci dit, le $_POST ne constitue bien souvent que le premier volet d'une protection qui peut (et est souvent) être doublée voire triplée par un Cookie et une ouverture de session côté serveur...
Donc à moins d'avoir le source du forum ou de la page que tu veux attaquer (pardon, accéder, ma langue a fourché), tu risques de tatônner un max...
Tout ça pour dire que tu es mal barré, selon ce que tu es censé vouloir faire...

Contribution le : 29/11/2005 18:07
Créer un fichier PDF de la contribution Imprimer


Re: WD8 Comment récupérer le handle d'un champ non windev
Anonyme
Merci pour ta réponse, je souhaite attaquer (c'est pas forcément péjoratif) un site de gestion de mail, dans le genre http://imp.free.fr, d'une grande entreprise mondiale dont je suis le prestataire informatique...

Voici donc un peu plus de détail sur le sujet :

Je voudrais entrer dans ce site donc, grâce à un mot de passe et un nom utilisateur, je tape cette fonction :

HTTPRequest("http://monSite.com/process_login.asp","", "","USERNAME=" + p_Login + "&PASSWORD=" + p_Password,"POST")


Je ne connais pas du tout la source de traitement asp d'arrivée, cependant, j'ai le code de départ (html)

(Je ne mets que le code du formulaire parce que sinon c'est trop long)

<FORM ACTION="process_login.asp" METHOD="post" NAME="frmLogin">
						<TABLE WIDTH=350 HEIGHT=250 BORDER=0 CLASS="dialog">
							<TR>
								<TD HEIGHT=20 ALIGN="center" CLASS="dialog_title">
									<TABLE WIDTH=500 HEIGHT=20>
										<TR>
											<TD ALIGN="center" WIDTH=460 HEIGHT=20 CLASS="dialog_title">

												CRM Login
											</TD>
											<TD WIDTH=40 CLASS="help">
												<A HREF="(tammairanslip) OpenHelp('login');">help</A>
											</TD>
										</TR>
									</TABLE>
								</TD>
							</TR>

							<TR>
								<TD ALIGN="center" VALIGN="middle" CLASS="dialog_content">
									<TABLE WIDTH=300 HEIGHT=100 BORDER=0 CELLSPACING=5 CLASS="dialog_content">
										<TR>
											<TD ALIGN="right">
												Username:
											</TD>
											<TD>
												<INPUT TYPE="text" NAME="username" SIZE=15 MAXLENGTH=15>

										</TR>
										<TR>
											<TD ALIGN="right">
												Password:
											</TD>
											<TD>
												<INPUT TYPE="password" NAME="password" SIZE=15 MAXLENGTH=15>
											</TD>
										</TR>

									</TABLE>
								</TD>
							</TR>
							<TR>
								<TD HEIGHT=40 ALIGN="center" CLASS="dialog_content">
									<INPUT TYPE="submit" VALUE="OK" CLASS="button_default" STYLE="width: 75px;">
									<INPUT TYPE="submit" VALUE="Cancel" CLASS="button" STYLE="width: 75px;">
								</TD>
							</TR>

						</TABLE>
					</FORM>



Le seul problème, c'est que ça ne fonctionne pas, mais je ne sais pas si ça vient de moi ou du server... car il me met une erreur, plutôt que de dire que je n'ai pas accès... (sachant que lorsque je me log normalement via le formulaire, j'ai accès normalement)


Voici le code erreur qu'il me sort... Apparement, il reconnaît pas mes paramètres. :\
Citation :
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]Procedure 'spGetLoginByUsernameAndPassword' expects parameter '@Username', which was not supplied.

/process_login.asp, line 18

Contribution le : 30/11/2005 08:45
Créer un fichier PDF de la contribution Imprimer


Re: WD8 Comment récupérer le handle d'un champ non windev

Inscrit:
19/11/2002 12:20
Post(s): 390
Ouais :)

Bon déjà essayez d'enlever le "POST" qui en fait ne sert à rien et qui est faux là vu qu'à cet endroit on mets les headers en général (pas applicable ici, le paramètre par défaut suffit).
La deuxième chose, essayez dans les majuscules pour les variables (je ne sais pas si Asp y est sensible ou pas), comme dans le formulaire:
HTTPRequest("http://monSite.com/process_login.asp","", "","username=" + p_Login + "&password=" + p_Password)

A priori en effet (de mémoire) pour la requête post il n'y a pas besoin de commencer par le fameux "?"...

Sinon question bête, vous avez un serveur Asp pour essayer chez vous (genre faire une page et voire ce qu'asp détecte)?

Sinon, il est bizarre ce serveur ASP de sortir une erreur comme celle là pour un manque de paramètre... Ca veut dire que le dév n'a même pas checké les valeurs... Pas très très très sérieux...

Contribution le : 30/11/2005 16:34
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2