2017-09-14 1 views
0

J'ai développé un module complémentaire VBA pour PowerPoint en C# à l'aide de NetOffice Framework, https://github.com/NetOfficeFw. L'add-on fonctionne maintenant, et en fait, ma question n'est pas vraiment liée à cela.Comment PowerPoint reconfigure les écrans sur un ordinateur portable?

Sur mon ordinateur de bureau, j'ai quatre écrans, et lorsque PowerPoint est en "mode diaporama", il prend en charge deux écrans, un pour le diaporama et un pour l'écran du présentateur. La fenêtre PowerPoint normale est également toujours présente sur l'un des deux autres écrans.

Sur mon ancien ordinateur portable avec un écran supplémentaire connecté, l'écran supplémentaire affiche normalement une image miroir de l'écran intégré. Mais lorsque PowerPoint passe en "mode diaporama", il reconfigure en quelque sorte le système et affiche le diaporama en plein écran sur l'écran connecté et l'écran du présentateur sur l'écran intégré. Très intelligent.

Mais que fait exactement PowerPoint, et comment? Est-ce documenté n'importe où?

Ceci est principalement juste pour satisfaire ma curiosité. J'ai maintenant recodé mon add-on pour que cela fonctionne - J'utilisais auparavant la classe .Net System.Windows.Forms.Screen pour savoir où positionner le curseur de la souris lorsque j'avais placé PowerPoint en "mode diaporama", mais cela ne fonctionne pas sur mon PC portable car il maintient qu'il n'y a toujours qu'un seul écran sur le système.

Répondre

1

Les anciennes versions de PPT se comportent différemment mais les versions actuelles, lorsque vous lancez un diaporama, modifient les paramètres vidéo Windows du miroir et étendent la vue du diaporama sur le deuxième moniteur sauf si vous les remplacez par défaut. Ensuite, il réinitialise la vidéo au paramètre précédent lorsque vous arrêtez le diaporama. Lorsque vous étendez l'affichage sur plusieurs moniteurs, Windows le voit comme un grand écran, ce qui explique pourquoi votre PC n'affiche qu'un seul écran, je pense.

+0

Merci pour votre réponse. J'ai essayé de googler "paramètres vidéo Windows de miroir pour étendre", que je considère comme la phrase clé, et trouvé ceci: https://answers.microsoft.com/en-us/msoffice/forum/msoffice_powerpoint-mso_winother/powerpoint- 2013-changes-display-setup/3ca470a0-d896-4577-b724-a360b6bf1c4e J'ai également essayé d'ajouter un tout petit peu de code de débogage à mon add-on C#, et j'ai déterminé que la classe .Net Screens semblait confuse PowerPoint a fait "derrière son dos" - il signale qu'il y a un écran avec une "zone de travail" de 0 x 0 (largeur x hauteur). – RenniePet

+0

J'imagine que si j'utilisais l'API Win32 directement, je pourrais obtenir de meilleures informations, mais ma curiosité ne va pas aussi loin, maintenant que j'ai quelque chose qui fonctionne. – RenniePet