2010-08-30 3 views
10

Tout comme le titre le dit, je veux savoir s'il est possible de déterminer si un appareil HDMI est connecté en utilisant C#.Est-il possible de détecter si un appareil HDMI est connecté en utilisant C#?

+0

Bien sûr, c'est. Si rien d'autre vous pouvez télécharger une application qui le fait, et l'exécuter à partir de C# :) Vous pouvez probablement le faire en utilisant des clés de registre (peu fiables), ou (plutôt fiable) en rassemblant des pilotes non gérés ou autres. Aussi peut-être regarder DirectX api pour cela à une estimation. –

+0

Avec P/Invoke, il y a un moyen, mais seulement à partir de Vista (selon MSDN) ou Win7 sur (selon la définition de la version cible WinGDI.h): en utilisant WDK/GDI; QueryDisplayConfig vous donne DISPLAYCONFIG_PATH_INFO, qui contient DISPLAYCONFIG_PATH_TARGET_INFO et que finalement une valeur de DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY. Comme c'est assez complexe et natif, je ne pense pas que ce soit la réponse que vous cherchez, mais cela montre que c'est possible ... – dyp

Répondre

1

Je ne pense pas qu'il existe une seule API (comme DirectX) qui vous permettrait d'interroger directement. Vous auriez probablement besoin d'écrire des routines personnalisées pour ATI/NVidia/etc. cartes pour cela et l'envelopper dans votre propre mini-API.

+0

DxDiag ne vous dit pas ça? Je me demandais si vous pouviez utiliser DirectX pour extraire les informations de DxDiag et si cela vous le dirait. Peut-être pas, ce n'est pas mon domaine d'expertise du tout .. –

+0

En regardant DxDiag maintenant et je vois "moniteur plug and play", mais aucune indication du type d'interface (VGA/HDMI/DVI). Cela peut être possible avec des appels DirectX de bas niveau, mais j'en doute. –

+0

Depuis que MS a changé son modèle de pilote d'affichage pour Vista et pour Win7, il est ** possible d'utiliser le WDK/GDI depuis Win7. J'ai écrit un commentaire à la question avec les liens. – dyp

1

Dans un sens, vous ne pouviez pas. Ils pourraient avoir un connecteur DVI-> HDMI branché donc il est branché comme HDMI mais la machine ne le connait que comme DVI, ou une main pleine d'autres types de connexion qui peuvent être dongled (teehee) à HDMI.

1

Je pense que c'est possible. Vous pouvez utiliser le gestionnaire de périphériques pour déterminer si un câble HDMI est connecté. J'ai travaillé sur un code pour trouver si l'USB est connecté et aussi si un moniteur est connecté ou non. si vous remarquez un changement dans le gestionnaire de périphériques lorsque le câble HDMI est branché, vous pouvez l'utiliser pour détecter HDMI

Questions connexes