cherche fonction pour lire&modifier la résolution d'écran sous windows

cherche fonction pour lire&modifier la résolution d'écran sous windows - VB/VBA/VBS - Programmation

Marsh Posté le 07-04-2005 à 13:11:42    

J'aimerais avoir une fonction pour retourner et modifier la résolution d'écran sous windows. Si vous avez  idée, merci de me répondre!!

Reply

Marsh Posté le 07-04-2005 à 13:11:42   

Reply

Marsh Posté le 07-04-2005 à 18:30:06    

Pour la modifier, voilà un code :

Code :
  1. DANS UN MODULE
  2. Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean
  3. Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwflags As Long) As Long
  4. Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  5. Private Const CCHDEVICENAME = 32
  6. Private Const CCHFORMNAME = 32
  7. Private Const DM_WIDTH = &H80000
  8. Private Const DM_HEIGHT = &H100000
  9. Private Const WM_DEVMODECHANGE = &H1B
  10. Private Const HWND_BROADCAST = &HFFFF&
  11. Private Const HWND_DESKTOP = 0
  12. Private Type DEVMODE
  13.     dmDeviceName As String * CCHDEVICENAME
  14.     dmSpecVersion As Integer
  15.     dmDriverVersion As Integer
  16.     dmSize As Integer
  17.     dmDriverExtra As Integer
  18.     dmFields As Long
  19.     dmOrientation As Integer
  20.     dmPaperSize As Integer
  21.     dmPaperLength As Integer
  22.     dmPaperWidth As Integer
  23.     dmScale As Integer
  24.     dmCopies As Integer
  25.     dmDefaultSource As Integer
  26.     dmPrintQuality As Integer
  27.     dmColor As Integer
  28.     dmDuplex As Integer
  29.     dmYResolution As Integer
  30.     dmTTOption As Integer
  31.     dmCollate As Integer
  32.     dmFormName As String * CCHFORMNAME
  33.     dmUnusedPadding As Integer
  34.     dmBitsPerPel As Integer
  35.     dmPelsWidth As Long
  36.     dmPelsHeight As Long
  37.     dmDisplayFlags As Long
  38.     dmDisplayFrequency As Long
  39. End Type
  40. Dim dmEcran As DEVMODE
  41. Private Sub ResolutionEcran(sgWidth As Single, sgHeight As Single)
  42.     Dim blTMP As Boolean
  43.     Dim lgTMP As Long
  44.     lgTMP = 0
  45.     Do
  46.         blTMP = EnumDisplaySettings(0, lgTMP, dmEcran)
  47.         lgTMP = lgTMP + 1
  48.     Loop Until Not blTMP
  49.     dmEcran.dmFields = DM_WIDTH Or DM_HEIGHT
  50.     dmEcran.dmPelsWidth = sgWidth
  51.     dmEcran.dmPelsHeight = sgHeight
  52.     lgTMP = ChangeDisplaySettings(dmEcran, 0)
  53.     Call SendMessage(HWND_BROADCAST, WM_DEVMODECHANGE, 0, 0)
  54. End Sub


 
Pour appeler le changement de résolution :

Code :
  1. Call ResolutionEcran(640, 480)


 
 
edit : Pour voir la résolution utilisée actuellement :

Code :
  1. Largeur = Screen.Width / Screen.TwipsPerPixelX
  2.     Hauteur = Screen.Height / Screen.TwipsPerPixelY


Voilà.


Message édité par knakes le 07-04-2005 à 18:35:23
Reply

Marsh Posté le 11-09-2013 à 10:58:34    

Bonjour,
 
Petit dépoussiérage de topic mais j´ai pas utilisé vbs depuis longtemps et je n´arrive pas à lancer le script partagé ici.
 
J´ai mis le gros bloc de code dans un fichier .vbs mais je n´arrive pas à l´exécuter en lui passant les paramètres, via la ligne de cmd ou un autre vbs.
 
Quelqu´un peut m´aider? Je ne trouve pas l´info dans google.
 
Merci d´avance!


---------------
http://www.secretsofthecity.com/ma [...] uled-earth
Reply

Marsh Posté le 17-09-2013 à 16:06:46    

 
           Bonjour,
 
           afin d'effectuer un dépoussiérage de tes connaissances :  Introduction au langage VBScript
 

Reply

Marsh Posté le 23-09-2013 à 09:47:05    

Ok, merci de l´aide. J´ai retrouvé mes petits.


---------------
http://www.secretsofthecity.com/ma [...] uled-earth
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed