[RESOLU] Equivalent clavier Ctrl + F5
[RESOLU] Equivalent clavier Ctrl + F5
Bonjour,
Après avoir ouvert par le programme une page html, j'aimerai la mettre à jour régulièrement par l'équivalent programme des touches Ctrl + F5 pour rafraichir la page déjà ouverte (sans ouvrir un nouvel onglet dans le navigateur).
Avez-vous la solution pour cela ???
Après avoir ouvert par le programme une page html, j'aimerai la mettre à jour régulièrement par l'équivalent programme des touches Ctrl + F5 pour rafraichir la page déjà ouverte (sans ouvrir un nouvel onglet dans le navigateur).
Avez-vous la solution pour cela ???
Dernière modification par PhM le mar. 07/déc./2021 11:24, modifié 2 fois.
- TazNormand
- Messages : 1297
- Inscription : ven. 27/oct./2006 12:19
- Localisation : Calvados (14)
Re: Equivalent clavier Ctrl + F5
Salut,
comme ça peut-être :
comme ça peut-être :
Code : Tout sélectionner
refreshdelay=5000
If OpenWindow(0, 0, 0, 1024, 768, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
WebGadget(0, 10, 10, 1000, 700, "http://placeimg.com/640/480/any")
;SetGadgetAttribute(0, #PB_Web_NavigationCallback, @NavigationCallback())
refstart.q = ElapsedMilliseconds()
Delay(1)
Debug refstart
Repeat
reftime.q =ElapsedMilliseconds()
If reftime % refreshdelay = 0
Debug "refresh after "+Str(refreshdelay)+" milliseconds"
SetGadgetState(0,#PB_Web_Refresh)
EndIf
Until WindowEvent() = #PB_Event_CloseWindow
EndIf
Re: Equivalent clavier Ctrl + F5
Merci TazNormand pour ton approche.
Si j'ai bien compris, cette solution ne fonctionne que dans le cadre d'une fenêtre WebGadget().
Mon souhait serait de rafraichir une page web dans le navigateur par défaut de Windows et ta méthode ne correspond pas à ce cas.
Je pensai qu'il y avait une possibilité de simuler des touches du clavier (Ctrl F5) en commandes programmées, ce qui ne semble pas être simple...
Si j'ai bien compris, cette solution ne fonctionne que dans le cadre d'une fenêtre WebGadget().
Mon souhait serait de rafraichir une page web dans le navigateur par défaut de Windows et ta méthode ne correspond pas à ce cas.
Je pensai qu'il y avait une possibilité de simuler des touches du clavier (Ctrl F5) en commandes programmées, ce qui ne semble pas être simple...
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Equivalent clavier Ctrl + F5
Ce petit code te permet de rafraichir une page web
Principe
- Utiliser le Desktop comme handle de fenêtre.
- Créer une boucle en systray pouvant être interrompu avec la touche Escape.
-- Dans la boucle :
--- Un delay d'attente entre deux rafraichissement.
--- Envoyer/relacher la touche Controle + F5 (API Windows)
--- Tester la touche Escape pour sortir de la boucle
Principe
- Utiliser le Desktop comme handle de fenêtre.
- Créer une boucle en systray pouvant être interrompu avec la touche Escape.
-- Dans la boucle :
--- Un delay d'attente entre deux rafraichissement.
--- Envoyer/relacher la touche Controle + F5 (API Windows)
--- Tester la touche Escape pour sortir de la boucle
Code : Tout sélectionner
Define WindowID, Message.s
;Utiliser le DeskTop comme handle de fenêtre.
WindowID = GetDesktopWindow_()
;Créer un processus en Systray
SysTray = AddSysTrayIcon(#PB_Any, WindowID, LoadIcon_( 0, #IDI_EXCLAMATION ) );
SysTrayIconToolTip(SysTray, "Presser la touche Escape" +#CRLF$+ "pour interrompre le rafraichissement")
;Demander à l'utilisateur de donner le focus à un navigateur
Message = "Fermez ce message d'information" + #CRLF$ +
"puis cliquez sur l'onglet de la page que vous voulez rafraichir automatiquement." + #CRLF$ +
"Touche Escape pour terminer le rafraichissement"
MessageRequester("Information", Message)
;Lancer le processus de rafraichissement toutes les 2 secondes
Repeat
Delay(2000)
res = keybd_event_(#VK_CONTROL,0,0,0) ;Appuyer sur CTRL
res = keybd_event_(#VK_F5,0,0,0) ;Appuyer sur F5
res = keybd_event_(#VK_F5,0,2,0) ;Relacher F5
res = keybd_event_(#VK_CONTROL,0,2,0) ;Relacher CTRL
Until GetAsyncKeyState_(#VK_ESCAPE) & $1
;Le raffraichissment est interrompu
MessageRequester("Information", "Rafraichissement interrompu.")
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Equivalent clavier Ctrl + F5
Merci Falsam pour ton exemple qui fonctionne.
Néanmoins, je reste surpris qu'il n'y ait pas de méthode plus simple pour simuler l'appui de touches du clavier
Mais, tu n'y est pour rien...
Néanmoins, je reste surpris qu'il n'y ait pas de méthode plus simple pour simuler l'appui de touches du clavier

Mais, tu n'y est pour rien...
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Equivalent clavier Ctrl + F5
Plus simple nativement PureBasic il y a pas. Par contre le SysTray n'est pas obligatoire. Ca donnait la possibilité de créer un menu.
On peut donc faire plus simple.La seule partie importante est dans la boucle Repeat.
On peut donc faire plus simple.
Code : Tout sélectionner
Define WindowID, Message.s
;Demander à l'utilisateur de donner le focus à un navigateur
Message = "Fermez ce message d'information" + #CRLF$ +
"puis cliquez sur l'onglet de la page que vous voulez rafraichir automatiquement." + #CRLF$ +
"Touche Escape pour terminer le rafraichissement"
MessageRequester("Information", Message)
;Lancer le processus de rafraichissement toutes les 2 secondes
Repeat
Delay(2000)
res = keybd_event_(#VK_CONTROL,0,0,0) ;Appuyer sur CTRL
res = keybd_event_(#VK_F5,0,0,0) ;Appuyer sur F5
res = keybd_event_(#VK_F5,0,2,0) ;Relacher F5
res = keybd_event_(#VK_CONTROL,0,2,0) ;Relacher CTRL
Until GetAsyncKeyState_(#VK_ESCAPE) & $1
;Le raffraichissment est interrompu
MessageRequester("Information", "Rafraichissement interrompu.")
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Equivalent clavier Ctrl + F5
Je viens de trouver une liste de "Virtual Key Codes" que je ne connaissais pas.
http://www.kbdedit.com/manual/low_level_vk_list.html
et on y trouve VK_BROWSER_REFRESH pour actualiser le navigateur.
Donc on peut faire encore plus court dans la boucle repeat.et ca fonctionne ^.^ Yeahhhhh i'm happy.
http://www.kbdedit.com/manual/low_level_vk_list.html
et on y trouve VK_BROWSER_REFRESH pour actualiser le navigateur.
Donc on peut faire encore plus court dans la boucle repeat.
Code : Tout sélectionner
Repeat
Delay(2000)
res = keybd_event_(#VK_BROWSER_REFRESH,0,0,0)
Until GetAsyncKeyState_(#VK_ESCAPE) & $1
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Equivalent clavier Ctrl + F5
Le delay n'est pas gênant dans le gestionnaire de tâche ?
Perso j'aurai mis une fen invisible et un timer de 2s
Perso j'aurai mis une fen invisible et un timer de 2s
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Equivalent clavier Ctrl + F5
Merci Falsam,
Ton dernier message sur la base de VK_BROWSER_REFRESH est vraiment cool, je prends !
Et, ton lien est à conserver
Encore merci de t’être penché sur ce cas.
Ton dernier message sur la base de VK_BROWSER_REFRESH est vraiment cool, je prends !
Et, ton lien est à conserver

Encore merci de t’être penché sur ce cas.
Re: [RESOLU] Equivalent clavier Ctrl + F5
Bonsoir à tous
Puisqu'on est dans le sujet Webgadget j'aimerais en profiter pour demander la méthode si l'on veux effectuer un Ctrl + A pour la sélection du
contenu du fameux gadget en cliquant sur un bouton, en espérant que cette question puisse accessoirement profiter ce topic
Puisqu'on est dans le sujet Webgadget j'aimerais en profiter pour demander la méthode si l'on veux effectuer un Ctrl + A pour la sélection du
contenu du fameux gadget en cliquant sur un bouton, en espérant que cette question puisse accessoirement profiter ce topic
