Variable de surbrillance bleu
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
Variable de surbrillance bleu
Bonjour à tous,
J'ai fais pas mal de recherches sur le sujet mais impossible de trouver un solution...
Existe-il un moyen de savoir en temps réel si un mot ou un texte entier est sélectionné (surbrillance bleue).
Mais surtout de créer une variable (dont la valeur changera à chaque nouvelle sélection) contenant les caractères sélectionnés.
Je ne parle pas d'un input ou d'un control dans une GUI mais bien de n'importe quel mot/texte sélectionné sur n'importe quelle page !
Exemple : $variabledemesreves = Rubri
Merci d'avance si quelqu'un a une idée.
J'ai fais pas mal de recherches sur le sujet mais impossible de trouver un solution...
Existe-il un moyen de savoir en temps réel si un mot ou un texte entier est sélectionné (surbrillance bleue).
Mais surtout de créer une variable (dont la valeur changera à chaque nouvelle sélection) contenant les caractères sélectionnés.
Je ne parle pas d'un input ou d'un control dans une GUI mais bien de n'importe quel mot/texte sélectionné sur n'importe quelle page !
Exemple : $variabledemesreves = Rubri
Merci d'avance si quelqu'un a une idée.
Re: Variable de surbrillance bleu
Bonsoir,
Peut-être:
-Envoyer Ctrl-C à la fenêtre
-Récupérer le presse-papier dans une variable
Trop simple?
Peut-être:
-Envoyer Ctrl-C à la fenêtre
-Récupérer le presse-papier dans une variable
Trop simple?
- orax
- Modérateur
- Messages : 1479
- Enregistré le : lun. 23 mars 2009 04:50
- Localisation : ::1
- Status : Hors ligne
Re: Variable de surbrillance bleu
Si c'est dans une fenêtre d'Internet Explorer, on peut faire comme dans l'exemple suivant.
https://developer.mozilla.org/fr/docs/W ... tSelection
Code : Tout sélectionner
#include <IE.au3>
$oIE = _IE_Example()
Sleep(5000) ; pause de 5 secondes pour sélectionner du texte dans la page
$sel = $oIE.document.getSelection().toString() ; récupère la sélection
ConsoleWrite($sel & @CRLF)
_IEQuit($oIE)
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: Variable de surbrillance bleu
Franchement, AMHA la solution de mdanielm est nickel. Simple, efficace, polyvalente
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: Variable de surbrillance bleu
Merci pour vos réponses et vos conseils.
Effectivement j'ai pensé à cette technique et c'est même celle que j'ai mis en place !
Voici mon script pour mieux comprendre :
Maintenant c'est pas forcement le plus pratique et le plus rapide...
La méthode sur IE fonctionne certainement mais j'ai besoin que ça fonctionne partout...
Après j'ai pensé utiliser "PixelSearch" car le bleu de la surbrillance est particulier mais ça promet un script hard et incertain ^^".
Effectivement j'ai pensé à cette technique et c'est même celle que j'ai mis en place !
Voici mon script pour mieux comprendre :
► Afficher le texte
La méthode sur IE fonctionne certainement mais j'ai besoin que ça fonctionne partout...
Après j'ai pensé utiliser "PixelSearch" car le bleu de la surbrillance est particulier mais ça promet un script hard et incertain ^^".
- walkson
- Modérateur
- Messages : 1036
- Enregistré le : ven. 12 août 2011 19:49
- Localisation : Hurepoix
- Status : Hors ligne
Re: Variable de surbrillance bleu
Bonjour,
Il est vraiment bizarre votre code
Comme le suggérait Daniel, il faut faire un copier (ctrl+c)
Pour vider le clipboard (je pense que c'était ce que vous souhaitiez avec DEL)
à titre d'exemple
Quand le gros chat vert écrit
Il est vraiment bizarre votre code

HotKeySet( "{F2}", Actionprogramme)
et Global $TexteOk
n'ont pas besoin d'être dans une boucle mais être en début de code$TexteOk = StringUpper(ClipGet())
c'est bien pour récupérer le clipboard mais avant il faut le remplirSend("{DEL}")
autrement dit, supprimer tout ce qui sera sélectionné. Vous allez faire de la place sur votre PC 
Send($TexteOk)
c'est envoyé des mots sans destinataire 
Comme le suggérait Daniel, il faut faire un copier (ctrl+c)
Send("^c")
après on utilise ClipGet()
Pour vider le clipboard (je pense que c'était ce que vous souhaitiez avec DEL)
ClipPut("")
à titre d'exemple
Quant à utiliser PixelSearch avec le million de pixels et quelques de votre écran et que vous avez trouvé votre couleur, reste à déterminer le texte si c'est du texte

Quand le gros chat vert écrit
y'a pas photoFranchement, AMHA la solution de mdanielm est nickel. Simple, efficace, polyvalente

Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Re: Variable de surbrillance bleu
Oui je suis dans me début en Autoit, je comprends que mes codes puissent être bizarre des fois !
Effectivement c'est une erreur d'avoir placé les deux lignes dans la boucle, c'est modifié merci.
Jusqu'à présent pour utiliser une des "options" je devais au préalable sélectionner le texte à modifier, le copier et faire F2 (dans ce cas le
Mais effectivement, ajouter un
En fait le
En fait je pense qu'il faut le tester pour comprendre car j'ai vraiment des idées étranges parfois ! ^^
Merci pour votre implication en tout cas, vous êtes vraiment au top sur ce forum !
Maintenant je crois qu'il n'existe pas de solution cette fois mais avec vos idées je peux au moins finir le programme, et j'en ai d'autres

Effectivement c'est une erreur d'avoir placé les deux lignes dans la boucle, c'est modifié merci.
Jusqu'à présent pour utiliser une des "options" je devais au préalable sélectionner le texte à modifier, le copier et faire F2 (dans ce cas le
$TexteOk
et le ClipGet()
sont en fait la sélection). Mais effectivement, ajouter un
Send("^c")
après avoir cliqué sur F2 c'est plus logique !En fait le
Send("{DEL}")
c'est pour supprimer le texte sélectionné et Send($TexteOk)
renvoie le texte mais modifié (en majuscule, minuscule...).En fait je pense qu'il faut le tester pour comprendre car j'ai vraiment des idées étranges parfois ! ^^
Merci pour votre implication en tout cas, vous êtes vraiment au top sur ce forum !
Maintenant je crois qu'il n'existe pas de solution cette fois mais avec vos idées je peux au moins finir le programme, et j'en ai d'autres

Re: Variable de surbrillance bleu
La correction qui fonctionne parfaitement (juste un petit coup de Koda et c'est OK ^^) :
► Afficher le texte
- walkson
- Modérateur
- Messages : 1036
- Enregistré le : ven. 12 août 2011 19:49
- Localisation : Hurepoix
- Status : Hors ligne
Re: Variable de surbrillance bleu
Dans ce cas je vous conseille ceci pour éviter de mauvaises surprises !
Func Actionprogramme() ; les actions du programme en fonction du combo choisit
Local $shandle = WinGetHandle("[ACTIVE]"); handle to the window.
Local $sControl = ControlGetFocus("[ACTIVE]");the ClassNameNN of the control
Send("^c")
Local $TexteBrut = ClipGet()
If $TexteBrut = "" Then Return SetError(1) ;pour éviter les erreurs de manipulation
ClipPut("")
If GUICtrlRead($Listederoulante) = "Texte en majuscule" Then
$TexteOk = StringUpper($TexteBrut)
ControlSend($shandle, "", $sControl,$TexteOk)
ElseIf GUICtrlRead($Listederoulante) = "Texte en minuscule" Then
$TexteOk = StringLower($TexteBrut)
ControlSend($shandle, "", $sControl,$TexteOk)
ElseIf GUICtrlRead($Listederoulante) = "Retourner le texte" Then
$TexteOk = StringReverse("crotte")
ControlSend($shandle, "", $sControl,$TexteOk)
;.................... etc
Local $shandle = WinGetHandle("[ACTIVE]"); handle to the window.
Local $sControl = ControlGetFocus("[ACTIVE]");the ClassNameNN of the control
Send("^c")
Local $TexteBrut = ClipGet()
If $TexteBrut = "" Then Return SetError(1) ;pour éviter les erreurs de manipulation
ClipPut("")
If GUICtrlRead($Listederoulante) = "Texte en majuscule" Then
$TexteOk = StringUpper($TexteBrut)
ControlSend($shandle, "", $sControl,$TexteOk)
ElseIf GUICtrlRead($Listederoulante) = "Texte en minuscule" Then
$TexteOk = StringLower($TexteBrut)
ControlSend($shandle, "", $sControl,$TexteOk)
ElseIf GUICtrlRead($Listederoulante) = "Retourner le texte" Then
$TexteOk = StringReverse("crotte")
ControlSend($shandle, "", $sControl,$TexteOk)
;.................... etc
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)