web-dev-qa-db-fra.com

Application pour basculer automatiquement entre deux applications sous Windows

Une application existe-t-elle pour que l'ordinateur bascule (apportez-vous à la mise au point) entre deux applications différentes, sur une minuterie? Ceci est pour Windows 7.

J'ai besoin de cela pour un écran qui s'affichera publiquement aux clients. Je souhaite que l'écran bascule entre deux applications différentes, disons, 30 secondes. Je pense qu'il y a suffisamment d'entreprises sur des moniteurs à la clientèle ces jours-ci pour que quelque chose de simple comme celui-ci doit exister!

4
OverloadUT

Oui, c'est appelé autoit .

Vous utiliseriez quelque chose comme ceci:

While 1 ;loop indefinitely
    WinActivate("notepad","") ;give focus to notepad
    Sleep(30000) ;sleep 30 seconds
    WinActivate("wordpad","") ;give focus to wordpad
    Sleep(30000) ;sleep 30 seconds
WEnd

WinActivAte () donne l'accent sur la fenêtre avec le titre correspondant exact ou le plus proche, dans les cas où il y en a deux, il donne l'accent sur le plus récemment activé. Dormir () est en millisecondes, donc 30000 est de 30 secondes.

10
MaQleod
4
Sebastien

Pourquoi installer un programme (comme AutoIt) lorsque Windows peut le faire hors de la boîte?

Enregistrez les éléments suivants dans un fichier appelé auto_switch.vbs:

Option Explicit
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
Do
    WScript.Sleep 30000
    WshShell.SendKeys("%{TAB}")
Loop

Changer la 30000 Pour être le nombre de millisecondes (SO 30000 = 30 secondes) entre ALT + TAB Presses. Double-cliquez dessus pour commencer à courir.

Si vous voulez l'arrêter, vous devez tuer le processus appelé "wscript".

Si vous souhaitez basculer entre des programmes explicitement nommés, ce code se retourne entre "Boîte de réception - Microsoft Outlook" et "Firefox" toutes les 30 secondes:

Option Explicit
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
Do
    WScript.Sleep 30000
    WshShell.AppActivate("Inbox - Microsoft Outlook")
    ' WshShell.SendKeys "% r"
    WScript.Sleep 30000
    WshShell.AppActivate("Firefox")
    ' WshShell.SendKeys "% r"
Loop

Il convient de noter que si les applications dans l'exemple ci-dessus sont minimisées, elles resteront minimisées même après leur activation.

Pour restaurer la fenêtre aussi, retirez le ' en face de la WshShell.SendKeys. Cela rendra le script actif la fenêtre puis envoie immédiatement la combinaison de touches de restauration. Alt+SpaceBarr. Si vous utilisez une version non anglaise de Windows, vous devrez peut-être modifier ce raccourci.

3
Richard