2016-11-01 1 views
0

"Skype Entreprise" (anciennement "Microsoft Lync") est plus difficile à réveiller que ma fille. Quand il est réduit à la barre des tâches, cliquer sur l'icône pour le restaurer est incroyablement lent - il faut littéralement 5 à 10 secondes pour restaurer s'il a été inactif pendant un moment. C'est un problème connu dont on se plaint souvent (par exemple here ou here), mais aucune résolution ou solution de contournement n'a été fournie.J'ai besoin de magie pour activer "Skype Entreprise"

Cependant, il y a une lueur d'espoir que j'aimerais exploiter, si possible. Comme je l'ai mentionné ci-dessus, Skype ne réagit qu'après avoir été inactif pendant un certain temps. Si l'utilisateur l'utilise activement alors il fonctionne très bien. Donc ... Je voudrais trouver un moyen de "jar" il chaque heure ou plus - pour le garder actif.

Ma stratégie initiale: Utilisez le Planificateur de tâches pour programmer le WScript suivant (toutes les heures):

Set WshShell = WScript.CreateObject("WScript.Shell") 
WshShell.AppActivate "Skype for Business"  'give app focus 
WScript.Sleep 100        'give app time to load 
WshShell.SendKeys "% r"      'restore app 
WshShell.SendKeys "% n"      'minimize app 

Cela fonctionne bien si l'application est déjà réduite au minimum, mais si l'application est active (mise au point), il va soudainement disparaître. (Si je laisse de côté la dernière ligne, l'application va apparaître au-dessus de tout ce que je travaille actuellement.) J'ai essayé de remplacer les deux dernières lignes avec celui-ci à la place:

WshShell.SendKeys "% {ESC}" 

... qui vient ouvre et ferme un menu. Cela fonctionne mieux, mais il se concentre sur Skype (quoique momentanément) ce qui provoque d'autres problèmes. Il affiche également la barre des tâches et allume l'icône Skype (comme si j'avais un message en attente).

QUESTION: Est-ce que quelqu'un sait si je peux utiliser AutoHotKey pour ce genre de chose? Fondamentalement, je cherche un genre de script qui peut faire ceci: déterminer si la fenêtre de Skype est actuellement active; si c'est le cas, ne faites rien. Sinon, envoyez-lui une commande invisible (par exemple: maximiser puis minimiser), mais dans tous les cas pour restaurer la fenêtre à son état précédent.

Des suggestions? (Un script autohotkey serait très apprécié!)

+0

Autant que je ressens pour toi, je ne suis pas sûr que c'est sur le sujet. Si vous avez posté votre code Wscript, nous pourrions jeter un coup d'oeil ... – code11

+0

J'essaierais d'utiliser ** [WinHide] (https://autohotkey.com/docs/commands/WinHide.htm) ** et ** [WinShow ] (https://autohotkey.com/docs/commands/WinShow.htm) ** au lieu de minimiser la fenêtre. – user3419297

+0

@ code11- Je suis allé de l'avant et ajouté mon code Wscript. Mais j'ai le sentiment que cela dépasse les limites de Wscript. Ce n'est pas si flexible. – kmote

Répondre

1

Si Skype ne devient pas insensible lorsque la fenêtre est caché, essayez quelque chose comme ceci:

; Hide Skype after it has been inactive for 20 seconds: 
SetTimer, hide_inactive_Skype_window, 1000 
return 

    hide_inactive_Skype_window: 
IfWinNotActive, Skype for Business 
    time++ 
else 
    time := 0  ; reset 
if (time = 20) ; 20 seconds 
{ 
    WinHide, Skype for Business 
     time := 0  ; reset 
} 
return 

; Use a hotkey to show/activate Skype: 
    !s:: ; Alt+s 
time := 0  ; reset 
WinShow, Skype for Business 
WinActivate, Skype for Business 
return 
+0

Je ne trouve aucune documentation sur les fenêtres "cachées" (à part les liens que vous avez partagés dans votre commentaire ci-dessus). Qu'est-ce que cela signifie de cacher une fenêtre? L'icône d'une fenêtre cachée apparaît-elle dans la barre des tâches? Si oui, en quoi est-ce différent de le minimiser? Si non, comment savez-vous que cela fonctionne? – kmote

+1

Pour autant que je sache: "WinMinimize" réduit la fenêtre et le place sur la barre des tâches. "WinHide" cache la fenêtre et cache également le bouton sur la barre des tâches (L'application est toujours en cours d'exécution et mise à jour active, mais elle consomme moins de ressources graphiques).L'absence du bouton sur la barre des tâches peut être compensée en créant un raccourci et/ou un bouton (Gui) pour afficher/activer la fenêtre cachée. Pour vérifier si l'application est exécutée, utilisez [IfWinExist] (https://autohotkey.com/docs/commands/WinExist.htm) ou [Process, Exist] (https://autohotkey.com/docs/commands/ Commande Process.htm # Parameters). – user3419297