begin process at 2012 02 12 04:00:43
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > LISTER LES ECRANS ET LEURS RÉSOLUTIONS

LISTER LES ECRANS ET LEURS RÉSOLUTIONS


 Information sur la source

Note :
Aucune note
Catégorie :API Niveau :Initié Date de création :26/02/2004 Date de mise à jour :26/02/2004 14:20:15 Vu / téléchargé :4 122 / 424

Auteur : BasicInstinct

Ecrire un message privé
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
j'avais besoin de savoir si mon deuxième écran était branché afin d'y faire aparaitre une form
donc j'ai pondu (non sans mal) ce petit bout de code

J'aimerai changer la resolution des ecrans, mais je seche un peu la...
Le permier ne pose aucun probleme mais je ne sais pas comment acceder au autres ecrans (cf TYPE DEVMODE).........Dc avis aux amateurs.



 Conclusion

MAJ prévue si j'arrive a faire les changements de résolutions...

Uniquement testé avec 1 seule carte Graphique (GeForce4-Ti4200)
si qq'un peut me dire si le code fonctionne avec plusieurs cartes graphiques.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture SCRIPTING D'APPLICATION (COMME LES MACRO SOUS OFFICE)
Source avec Zip BOUCLE INFINIE OU COMMENT FAIRE UN TIMER >65500 MS
SCROLLBAR AJOUTÉ A 1 CONTROLE
CRÉER UN DOSSIER (OU SOUS DOSSIER)
Source avec Zip CHOISIR L'IMPRIMANTE DANS ACCESS (VBA)

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) .NET DEPENDENCY VIEWER : ARBRE DES DÉPENDANCES D'UN ASSEMBLY... par ShareVB
Source avec Zip Source .NET (Dotnet) UTILITAIRE SKYDRIVE par MasterShadows
Source avec Zip ROTATION RAPIDE D'IMAGE par trex70
Source avec Zip Source avec une capture ENUMERATION DES PORTS TCP ET IDENTIFCATION DU PROCESS (PID) ... par Renfield
Source avec Zip Source avec une capture MOUSE SPEED AND WEIGHT : RETOUR DE FORCE VIRTUEL ! par ScSami

Commentaires et avis

Commentaire de BobTSMSI le 26/02/2004 14:51:33

Salut BasicInstinct!

Pour changer la résolution de l'écran 0, je suppose que tu utilises l'API "ChangeDisplaySettings"... Ben pour changer la résolution sur n'importe quel écran, utilise "ChangeDisplaySettingsEx", ça marche exactement pareil que la première fonction mais en premier paramètre, on rentre le numéro de l'écran. Voilà la déclaration :

Public Const CDS_TEST = &H4
Public Const CDS_UPDATEREGISTRY = &H1
Public Declare Function ChangeDisplaySettingsEx Lib "user32" Alias "ChangeDisplaySettingsExA" (lpszDeviceName As Any, lpDevMode As Any, ByVal hWnd As Long, ByVal dwFlags As Long, lParam As Any) As Long

Et l'appel :

ChangeDisplaySettingsEx(ByVal NumDevice&, DevMode, ByVal 0&, CDS_TEST, ByVal 0&)

(donc ByVal 0& pour le hWnd et ByVal 0& pour lparam. et pour dwFlags CDS_TEST pour tester la résolution, CDS_UPDATEREGISTRY pour mettre à jour le registre, sinon ByVal 0&)

Si tu choisis CDS_UPDATEREGISTRY, je crois (à vérifier) qu'il faut ajouter ça:

Déclaration:

Public Const HWND_BROADCAST = &HFFFF
Public Const HWND_DESKTOP = 0
Public Const WM_DEVMODECHANGE = &H1B
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Code juste après l'appel à ChangeDisplaySettingsEx:

SendMessage HWND_BROADCAST, WM_DEVMODECHANGE, 0, 0
SendMessage HWND_DESKTOP, WM_DEVMODECHANGE, 0, 0


Normalement ça marche, si j'ai rien oublié ;) ...

Sinon pour l'histoire de savoir si ça marche sur toutes les cartes graphiques, normalement oui puisque c'est une fonction Win32, la même qui est utilisée quand tu change la résolution par le panneau de configuration. Donc pas d'incompatibilité avec telle ou telle carte graphique.

A plus!

Commentaire de BasicInstinct le 26/02/2004 14:57:00

c'est bien ce que j'ai essayé de faire, mais ca me fait planter VB. Dc pour le moment j'ai pas plus epilogué que ca et je m'y remettrai quand j'aurai le courage !! (certainement cette nuit)

Merci



Commentaire de BobTSMSI le 26/02/2004 15:02:06

Chez moi ça marche nickel cette méthode...

Bon courage!

Autre chose, si tu sais comment faire afficher une form dans un autre écran que le 0 , ça m'intéresse. C'est pour faire du multi-écran avec mon écran de veille.

Bye!

Commentaire de azerty25 le 26/02/2004 16:54:42

Héhé, le ce BobTSMSI ;)
J'ai également déja pensé à faire du multi écran, j'ai réfléchi à la technique mais pas passé à l'acte, plus besoin : les fenetres de windows, du moins les positions sont numérotées en je ne sais plus quelle unité (twips ou pixels). Si tu met dans le fom load d'une appli me.left=0, elle sera sur la bordure droite de l'écran 0. Apres, si tu as 2 écrans, le primaire est à droite et le 2eme a sa gauche, toujours pareil pour l'histoire du left = 0, mais si tu met par exemple me.left = -500, alors la elle fenetre sera sur l'autre écran ;) Apres a toi de trouver si l'éran 2 est a gauche, à droite, quelles dimensions (avec le code ici présent peut etre ? ;)) D'ailleur, il est utile est totalement fonctionnel ton code BasicInstinct, bravo;)

Commentaire de BasicInstinct le 26/02/2004 17:36:51

y'a moyen de savoir si la form est dans tel ou tel ecran,  mais je l'ai pas mis pour ne pas alourdir le code. Je le rajouterai si vous voulez.

Moi je m'en sert pour un serveur de Log qui est plein ecran sur l'ecran2 ou en systray si l'ecran est inactif.

Merci pour les commentaires :)

Commentaire de azerty25 le 26/02/2004 17:57:53

Ok, n'hésite pas a faire tourner ou a poster une source sourtout ;)
Tu fait sa avec GetWindowsPos (ou un truc du genre) non ?

Commentaire de BasicInstinct le 12/03/2004 11:57:06

j'ai réussi a faire ce que je voulais avec mon multi-ecran....
MAJ tres prochainement :)))

@++

Commentaire de BobTSMSI le 12/03/2004 12:14:54

WAOUH!!! HEP HEP!! ça m'intéresse ça!
Beaucoup beaucoup même!
Fait tourner!
Je suis cette histoire avec intérêt!

Merci BasicInstinct

PS: j'espère que j'pourrai adapter ça avec mes surfaces DirectDraw!!

Bye les gens :)

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales