cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 2013
-
5 oct. 2007 à 20:37
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 2013
-
8 oct. 2007 à 20:37
Bonsoir,
Je cherche à savoir si j'ai un écran qui est connecté sur mon port DVI (c'est un laptop, et j'aimerais savoir si mon écran externe est branché...). J'ai un peu fouillé sur le net et franchement j'ai pas trouvé grand chose sur le sujet. Donc si quelqu'un à un peu de doc ou des idées....
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 6 oct. 2007 à 09:14
Salut Bidou, as tu regardé les fonctions Win32 en rapport avec le moniteur, ça ne te dira pas si ton moniteur est branché en DVI mais ça devrait être suffisant pour enumérer les moniteurs.
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 6 oct. 2007 à 09:58
J'ai toujours eu de la peine avec ces APIS Win32.... là je m'emmêle un peu les pinceaux. J'ai essayé ceci d'après la doc:
public
struct
RECT
{
long left;
long top;
long right;
long bottom;
}
[
DllImport(
"userd32.lib")]
public
static
extern
bool EnumDisplayMonitors(
IntPtr handle,
RECT rect, ...
Puis ensuite il veut une fonctione de callback?
Un tit coup de pouce please :)
Et si j'ai bien compris, les deux premiers paramètres seront des null....
????
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 6 oct. 2007 à 11:32
public partial class Form1 : Form
{
[ StructLayout( LayoutKind.Sequential ) ]
private struct RECT
{
public int Left;
public int Top;
public int Right;
public int Bottom;
} // RECT
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 6 oct. 2007 à 12:00
Merci pour ta réponse.
Mais à vrai dire je ne vois pas comment savoir si c'est un écran externe qui est branché? Car le callback ne retourne pas beaucoup d'infos !?
Dans la class Screen, j'ai pas trouvé ce que je voulais...
Moi ce que j'aimerais, dans l'ideal, c'est une fonction qui me retourne true ou false selon qu'un écran externe soit branché ou pas...
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 6 oct. 2007 à 12:11
je ne connais pas une telle fonction, mais avec EnumDisplayMonitors tu obtiens déja le nombres de moniteurs et leur handles respectifs ce qui permet d'appeler GetMonitorInfo ( qui donnera pas beaucoup plus d'infos c'est vrai.. ).
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 6 oct. 2007 à 13:55
Je t'ai dit que ça donnait pas beaucoup plus d'infos, hormis le flag qui indique si c'est le moniteur principale et le nom du device vidéo ( MONITORINFOEX ).
C
e qui n'est pas normal c'est qu'avec plusieurs moniteurs le callback MonitorEnumCallback devrait être appéllé plusieurs fois ce qui donne le nombre de moniteurs connectés, c'est l'info qui aurait été la plus intéressante dans ton cas..
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 8 oct. 2007 à 09:31
Il est intéressant ton programme ShareVB, j'avais regardé du coté de Device Management dans le DDK mais je ne voyais pas comment exploiter ces fonctions. Ca retourne qlqs infos sur les moniteurs mais est-ce que ça indique si il est branché acrtuellement ou juste installé ?
Dans la même idée, il est peut être interessant de parcourir la clé de registre :
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 8 oct. 2007 à 13:21
Bon j'ai rapidement testé la soluce de lutinore, mais dans la registry, rien ne semble changer... (peut-être parce que c'est pas du VGA mais du DVI?)
J'essayerai l'alternative de sharevb ce soir
Merci quand même pour vos idées...