2014-05-20 1 views
1

Je développe un service de bureau compatible avec Windows 8 qui utilise un flux d'aperçu de caméra. Sur les ordinateurs portables convertibles (Dell XPS 12), j'ai des problèmes avec l'orientation de la caméra. fondamentalement, je dois faire pivoter le flux en synchronisation avec le flux. J'utilise windows rt apis (SimpleOrientationSensor, DisplayProperties, DisplayInformation) pour obtenir cette information d'orientation. Si je n'utilise que SimpleOrientationSensor, cela ne change pas toujours en synchronisation avec le bureau de Windows. parfois, l'orientation du bureau est verrouillée et SimpleOrientationSensor déclenche des événements, mais le bureau ne change pas d'orientation (mode ordinateur portable).Orientation Windows 8 à partir d'une application de bureau

J'ai essayé d'utiliser DisplayProperties, mais il rend compte que « paysage » lors de l'exécution d'un service, et par http://msdn.microsoft.com/en-us/library/windows/apps/windows.graphics.display.displayproperties.aspx, DisplayProperties est dépréciée: «DisplayProperties peuvent être modifiés ou indisponible pour les versions de Windows après 8.1, utilisez au lieu DisplayInformation. » Si j'essaie d'utiliser DisplayInformation.GetForCurrentView() depuis mon application de bureau, j'obtiens une exception "Windows.Graphics.Display: GetForCurrentView doit être appelé sur un thread associé à un CoreWindow".

Je peux utiliser SimpleOrientationSensor, mais je me demande s'il existe un événement ou une propriété pour le mode ordinateur portable (orientation verrouillée) par rapport au mode tablette (toute orientation) dans ces ordinateurs portables convertibles. toute aide appréciée!

Répondre

0

Mise à jour:

J'ai trouvé l'API GetSystemMetrics(), qui ne semble pas fonctionner très bien (mauvaise gestion des erreurs). Aussi trouvé une clé de registre: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ PriorityControl ConvertibleSlateMode DWORD qui semble plus fiable, c'est ce que je suis en train de mettre en œuvre. J'ai aussi trouvé cet article: https://software.intel.com/en-us/articles/detecting-slateclamshell-mode-screen-orientation-in-convertible-pc

Questions connexes