10
votes

Détecter l'affichage externe étant connecté ou supprimé sous Windows 7

Y a-t-il un événement ou une notification que je peux recevoir ou accrocher chaque fois qu'un moniteur LCD externe est branché ou débranché d'un ordinateur portable exécutant des fenêtres 7?

L'ordinateur portable détecte ceci et bascule mon écran sur l'écran externe et le dos avec certains types de redimensionnant ou de repositionnement, mais est-ce exposé par le système d'exploitation afin que les applications puissent fournir un gestionnaire, joindre un script, etc.?

Si non, existe-t-il un paramètre de registre ou une API que je pourrais sonder de temps en temps?

(Je préfère la programmation C + Win32 API)

mise à jour

La réponse de Mike ci-dessous, Wm_devicecechange m'a conduit registerDevicénotification () , mais je me lance de le mettre en œuvre jusqu'à présent ...

mise à jour 2

Cette question a été posée avec différentes formulations à plusieurs reprises, mais pas encore complètement répondu à mon avis:


2 commentaires

Je pensais que j'utiliserais Autohotkey pour Windows, pour détecter le changement de résolution. Ou quelque chose comme ce script - autohotkey.com/board/topic/59846-Detect -Resolution-changement - que je pense détecte le changement d'affichage général.


Il y a du code ici comment utiliser wm_devicechanger et registerDevicénotification Silabs.com/community/interface/knowledge-base.entry.html/201 3 / ...


3 Réponses :



6
votes

1 commentaires

Je viens de tester wm_displaychanger avec l'ajout et la suppression d'un moniteur, et cela fonctionne bien sur Windows 10 (bien que la question initiale posait des questions sur Windows 7).



0
votes

Comme dit ici :

Vous verrez des messages enregistrés "UXDDISPLAYCHANGEMESSAGE" et "HotplugDétected" (seconde uniquement lors de l'ajout de moniteur). Vous pouvez utiliser registerwindowmessage Pour obtenir l'identifiant pour ces messages.

Il existe également d'autres messages que vous pouvez vérifier, voir la réponse liée.


0 commentaires