11
votes

Comment puis-je maximiser, restaurer ou minimiser une fenêtre avec un script VB?

Je dois être capable de faire des fichiers de Séparte .vbs qui seront (lorsqu'ils sont déclenchés avec une coupe courte clavier) rendront la fenêtre active maximisée, minimisée ou restaurée.

Comment puis-je faire cela sans télécharger et installer (non autorisé ici) un package distinct.


0 commentaires

5 Réponses :


20
votes

L'hôte de script VBScript et Windows ne fournit pas de fonctions intrinsèques pour optimiser / minimiser / restaurer une fenêtre. Sans aucun outil tiers, votre seule option consiste à utiliser SendKeys pour simuler le clavier les raccourcis des commandes correspondantes dans le menu Système de la fenêtre.

  • à maximix la fenêtre active, vous pouvez simuler la barre d'espace alt + , x raccourci: XXX

  • Pour minimiser la fenêtre active, utilisez alt + espace d'espace , n : XXX

  • Pour restaurer la fenêtre active, utilisez alt + espace d'espace , r : XXX

    (Notez que ce code ne fonctionnera pas dans des versions Windows non-anglais, où les noms des commandes maximisez / minimiser / restaurer sont localisés et ont donc d'autres raccourcis.)


1 commentaires

Je peux obtenir cela pour travailler avec ex. "CALC". Mais pour une raison quelconque, pas avec "TaskMgr". Aucune suggestion? Stackoverflow.com/questions/44180036 / ...



2
votes

Sendkeys ne fonctionnait pas dans mon ordinateur. Originaire espagnol avec clavier espagnol et anglais. Je l'ai fait et j'ai travaillé dans mon code comme instruction et a travaillé pour maximiser ma fenêtre Excel. Je mets le .sleep pour le vérifier visuellement.

objExcel.SendKeys"% x"
objExcel.Visible = True
objExcel.SendKeys"% x"

WScript.Sleep 2000


0 commentaires

0
votes

Pour maximiser n'importe quelle fenêtre, le code suivant fonctionnera:

Application.SendKeys "%{ }"
Application.Wait (Now + TimeValue("00:00:02"))
Application.SendKeys "x"


0 commentaires

0
votes

Sujet est vieux. Mais j'ai réussi à trouver une solution indépendante de la langue. Sendkeys peut fondamentalement envoyer toutes les touches à l'application, y compris les touches fléchées et la touche Entrée. Nous pouvons donc imiter ces actions sans lettres particulières (x, r, n). Voici l'exemple de travail: xxx


1 commentaires

Pour une application particulière, vous devez trouver le nombre de flèches avant la touche Entrée. Bonne chance!



0
votes

Cela fonctionne pour moi dans mon macro Excel pour maximiser un document PDF externe en exécutant les touches de raccourci "Alt + Spacebar + x '.

Mote:"%' représente la touche ALT "() 'représente la barre d'espace. La touche et «x» représente la touche Maximize. P>

Application.SendKeys "%+( )+(x)", True


0 commentaires