[R] Liens Cliquables dans une MsgBox

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Gof
Niveau 2
Niveau 2
Messages : 18
Enregistré le : mer. 31 oct. 2007 09:00
Status : Hors ligne

[R] Liens Cliquables dans une MsgBox

#1

Message par Gof »

Bonjour, :)

Je ne souhaite pas un script clé en main, mais juste savoir s'il est possible sous AutoIt d'avoir des URL cliquables dans une MsgBox ?

Et si oui, quelle est le nom de cette commande ?

Dans l'éventualité où cela est possible, est-il possible de déterminer d'utiliser la navigateur par défaut ? Où l'interaction AutoIt<->Web est toujours via le moteur IE ?

Désolé si mes questions sont naïves, merci ;)

EDIT : heu... pour préciser, je pense à un "Label" cliquable dans une MSGBOX.
Modifié en dernier par Gof le jeu. 01 nov. 2007 14:26, modifié 1 fois.
Avatar du membre
Gof
Niveau 2
Niveau 2
Messages : 18
Enregistré le : mer. 31 oct. 2007 09:00
Status : Hors ligne

#2

Message par Gof »

Plop ^^

Bon, j'ai trouvé :roll:

Enfin pour la première partie. Il suffit simplement d'associer un contrôle au label, de fait on peut rendre le lien cliquable tout simplement. Je m'obstinais à vouloir créer/voir une URL bleutée soulignée...

Par contre, je cherche encore pour l'ouverture d'un lien avec le navigateur défini par défaut. Je ne vois que des fonctions IE.
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

#3

Message par ani »

un msgbox contenant un lien cliquable, c'est surement possible mais j'en ai jamais rencontré, le plus simple et serait de créer une interface contenant comme tu l'a signalé un label avec le lien.

pour le rendre bleu souligné, tu dispose de fonction GUICtrlSetFont, GUICtrlSetColor et celui-ci GUICtrlSetCursor pour donner un pointer different

Code : Tout sélectionner

#include <GUIConstants.au3>

Opt("GUIOnEventMode",1)

$Font ="MS Sans Serif"
$url = "www.autoitscript.fr/"

$Gui = GUICreate("", 224, 104, 193, 115)
GUISetOnEvent ($GUI_EVENT_CLOSE, "quitte" )
$Lbl1 = GUICtrlCreateLabel("Exemple d'autoitscript :", 16, 8, 189, 17)
$Lbl2 = GUICtrlCreateLabel("http://" & $url, 24, 32, 181, 17)
GUICtrlSetFont(-1, 8, 400, 4, $Font)
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetCursor(-1, 0)
GUICtrlSetOnEvent(-1, "start")
$Btn1 = GUICtrlCreateButton("quitter", 40, 56, 75, 25, 0)
GUICtrlSetOnEvent(-1, "quitte")
GUISetState(@SW_SHOW)


While 1
sleep(100)
WEnd

Func start()
Run(@ComSpec & " /c start iexplore " & GuiCtrlRead($Lbl2), "", @SW_HIDE)
EndFunc

Func quitte()
Exit
EndFunc
pour l'ouverture du fichier quel navigateur posséde tu ?
d'après moi faudrai lire la clé de registre qui défini le nav par défaut et de lancer celui-ci (avec sa cmd qui se trouve aussi dans le regedit) sauf si je me gourre completement, merci d'avance et veuillez m'excuser par la meme occasion
Avatar du membre
Gof
Niveau 2
Niveau 2
Messages : 18
Enregistré le : mer. 31 oct. 2007 09:00
Status : Hors ligne

#4

Message par Gof »

Bonjour Ani :)

Merci de ta réponse. Je vais sans doute filouter en effet comme tu me l'as suggéré, de sorte que les liens associés aux labels soient tout de même apparents via la coloration du label.

Par contre, pour le navigateur, personnellement j'ai Firefox. Mais j'aurais souhaité en effet que l'application crée ouvre les liens avec le navigateur défini par défaut sur le système.
d'après moi faudrai lire la clé de registre qui défini le nav par défaut et de lancer celui-ci (avec sa cmd qui se trouve aussi dans le regedit)
Je vais chercher du côté de cette piste voir ce que je trouve. Merci, si je trouve, je viens dire ce qu'il en est ;)
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

#5

Message par ani »

je suis pas sure que sa soit cette clé
HKEY_CLASSES_ROOT\http\shell\open\command

la valeur que j'ai, me retourne le path d'internet explorer

et vous ?


sinon essaye cette soluce j'ai juste remplacé dans la fonction start le iexplore par file:

Code : Tout sélectionner

#include <GUIConstants.au3>

Opt("GUIOnEventMode",1)

$Font ="MS Sans Serif"
$url = "http://www.autoitscript.fr/"

$Gui = GUICreate("", 224, 104, 193, 115)
GUISetOnEvent ($GUI_EVENT_CLOSE, "quitte" )
$Lbl1 = GUICtrlCreateLabel("Exemple d'autoitscript :", 16, 8, 189, 17)
$Lbl2 = GUICtrlCreateLabel($url, 24, 32, 181, 17)
GUICtrlSetFont(-1, 8, 400, 4, $Font)
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetCursor(-1, 4)
GUICtrlSetOnEvent(-1, "start")
$Btn1 = GUICtrlCreateButton("quitter", 40, 56, 75, 25, 0)
GUICtrlSetOnEvent(-1, "quitte")
GUISetState(@SW_SHOW)


While 1
sleep(100)
WEnd

Func start()
Run(@ComSpec & " /c start file:" & $url, "", @SW_HIDE)
EndFunc

Func quitte()
Exit
EndFunc
Modifié en dernier par ani le jeu. 01 nov. 2007 14:57, modifié 3 fois.
Avatar du membre
Gof
Niveau 2
Niveau 2
Messages : 18
Enregistré le : mer. 31 oct. 2007 09:00
Status : Hors ligne

#6

Message par Gof »

Ah bien vu ! Ma soluce viendra peut-être de là :
Nom de la clé : HKEY_CLASSES_ROOT\HTTP\shell\open\command
Nom de la classe : <Sans>
Valeur 0
Nom : <SANS>
Type : REG_SZ
Données : C:\PROGRA~1\MOZILL~1\FIREFOX.EXE -requestPending -osint -url "%1"
Merci Ani, je vais fouiller dans cette direction ;)

J'étais rendu à farfouiller sur les sources vbfrance : url dans nouvelle fenêtre du navigateur. Mais je partais loin là ^^

Je te (vous) tiens au courant ! (on se tutoie, vouvoie ?)
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

#7

Message par ani »

héhé je te remerci, je note dans la documentation que la clé est bonne :) , excuse pour le vous ^^'

ps: j'ai ajouter dans le post un autre exemple il me semble que celle-ci serait plus adapté (normalement)


normalement un navigateur fonctionne avec les differente fonction comme file:/mailto:/https:/http (si j'ai un peu le temp, j'essaiera de faire un post ^^' )

je suis meganovice ^^
Avatar du membre
Gof
Niveau 2
Niveau 2
Messages : 18
Enregistré le : mer. 31 oct. 2007 09:00
Status : Hors ligne

#8

Message par Gof »

En effet, chez moi Firefox s'est ouvert sans soucis sur un nouvel onglet. Il va falloir que je fasse quelques essais et que je vois tout ça. Je te remercie ;)
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

#9

Message par ani »

:)

comment as-tu procédere pour faire la sortie (avec le nav par défaut) ?
Avatar du membre
Gof
Niveau 2
Niveau 2
Messages : 18
Enregistré le : mer. 31 oct. 2007 09:00
Status : Hors ligne

#10

Message par Gof »

Je n'ai pas saisi ta question.

AVec ton Start file... en commande associée, le script exécute par défaut le navigateur défini.

Ensuite les paramètres définis par le navigateur prennent le relais : si le clic d'un lien est conditionné pour une ouverture dans un nouvel onglet, le start l'ouvrira ainsi, et si le navigateur est défini pour ouvrir tout lien dans une nouvelle fenêtre, le start suivra son petit chemin.

L'astuce du start était toute bête, encore fallait-il y penser :roll:
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

#11

Message par ani »

Citation:
Nom de la clé : HKEY_CLASSES_ROOT\HTTP\shell\open\command
Nom de la classe : <Sans>
Valeur 0
Nom : <SANS>
Type : REG_SZ
Données : C:\PROGRA~1\MOZILL~1\FIREFOX.EXE -requestPending -osint -url "%1"
cette sortie là :)

excuse aussi j'ai un peu de mal à m'exprimer.

faut toujours trouver une solution la plus simple possible (si elle est existante)
Avatar du membre
Gof
Niveau 2
Niveau 2
Messages : 18
Enregistré le : mer. 31 oct. 2007 09:00
Status : Hors ligne

#12

Message par Gof »

Image

Tu te rends sur la clé, puis tu fais un clic-droit dessus et tu sélectionnes "Exporter".

Ensuite, tu n'as plus qu'à l'enregistrer sous un format texte (ou autre).
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

#13

Message par ani »

ok merci ^__^

j'avais cru a un script autoit, as tu une sous-clé ddeexec ?

suis telement novice que les réponses sont pas ... essaye start sans file:

Code : Tout sélectionner

Func start() 
Run(@ComSpec & " /c start " & $url, "", @SW_HIDE) 
EndFunc
j'ai tester sous dos avec file : il met un temp trop important, sans le file: ca fonctionne top (normalement sa posera aucun problème avec le nav firefox)
Modifié en dernier par ani le jeu. 01 nov. 2007 15:09, modifié 1 fois.
Avatar du membre
Gof
Niveau 2
Niveau 2
Messages : 18
Enregistré le : mer. 31 oct. 2007 09:00
Status : Hors ligne

#14

Message par Gof »

J'avais mal compris ^^
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

#15

Message par ani »

ralala faudrai que j'arrete moi ^^'

j'ai retesté sous dos j'avais oublié les quote "

Code : Tout sélectionner

Func start() 
Run(@ComSpec & ' /c start file:"' & $url & '"', "", @SW_HIDE) 
EndFunc
sa fonctionne aussi bien :)
je pense que c'est la dernière fois
vu que je suis novice il se peut que le placement des quote ne soit pas exacte sous autoit mais sa fonctionne ;)

sinon t'a la fonction shellexecute ()

je modifie ma doc , merci ;)
Répondre