Vous demandez la "synchronisation verticale du moniteur". La synchronisation verticale est un paramètre de carte graphique qui verrouille le taux de rendu de trame sur le taux de rafraîchissement du moniteur. Selon NVida, "Cela améliore la qualité de l'image en éliminant les effets de déchirement horizontaux dans l'image 3D." Voulez-vous savoir si la synchronisation verticale est activée ou désactivée ou recherchez-vous le taux de rafraîchissement du moniteur? Je ne sais pas comment faire l'ancien, mais vous pouvez obtenir ce dernier de cette façon:
Private Const CCHDEVICENAME = 32
Private Const CCHFORMNAME = 32
Private Type DEVMODE
dmDeviceName As String * CCHDEVICENAME
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperLength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
dmYResolution As Integer
dmTTOption As Integer
dmCollate As Integer
dmFormName As String * CCHFORMNAME
dmUnusedPadding As Integer
dmBitsPerPel As Long
dmPelsWidth As Long
dmPelsHeight As Long
dmDisplayFlags As Long
dmDisplayFrequency As Long
End Type
Private Declare Function EnumDisplaySettings Lib "user32.dll" Alias _
"EnumDisplaySettingsA" (ByVal lpszDeviceName As String, _
ByVal iModeNum As Long, ByRef lpDevMode As DEVMODE) As Long
Private Function GetRefreshRate() As Long
Dim dm As DEVMODE
dm.dmSize = Len(dm)
EnumDisplaySettings vbNullString, ENUM_CURRENT_SETTINGS, dm
GetRefreshRate = dm.dmDisplayFrequency
End Function