Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: SOMBRIO en 27 Marzo 2010, 19:27 PM

Título: bits por pixel y frecuencia
Publicado por: SOMBRIO en 27 Marzo 2010, 19:27 PM
Alguien sabe como canbiar los bits por pixel o profundidad del color a la mas alta
desde vb

al iniciar el proyecto si el monitor tiene una resolucion de 800*600 a 24 bits y sporta 32 bits como puedo ponerle esta resolucion

y como puedo bajar la frecuencia a valores muy bajos como a 15 khz vertical

Gracias y Saludos agradezco de antemano cualquier respuesta

(añado a esta frecuencia no se puede ver en un monitor)
Título: Re: bits por pixel y frecuencia
Publicado por: seba123neo en 27 Marzo 2010, 19:51 PM
Cambiar y reestablecer la resolución de la pantalla con el Api ChangeDisplaySetting (http://www.recursosvisualbasic.com.ar/htm/listado-api/api-23.htm)
Título: Re: bits por pixel y frecuencia
Publicado por: SOMBRIO en 27 Marzo 2010, 23:42 PM
El ultimo ejemplo me fue perfecto para lo que busco Gracias amigo.

Y respecto a lo de la frecuencia  ¿?

Estoy viendo que es mas complejo y desde vb no creo que se pueda
Gracias y Saludos
Título: Re: bits por pixel y frecuencia
Publicado por: seba123neo en 28 Marzo 2010, 01:32 AM
si se puede mira:

Código (vb) [Seleccionar]
Option Explicit
Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean
Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwflags As Long) As Long

Const CCDEVICENAME = 32
Const DM_DISPLAYFREQUENCY = &H400000
Const CCFORMNAME = 32

Private Type DEVMODE
  dmDeviceName As String * CCDEVICENAME
  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 * CCFORMNAME
  dmUnusedPadding As Integer
  dmBitsPerPel As Integer
  dmPelsWidth As Long
  dmPelsHeight As Long
  dmDisplayFlags As Long
  dmDisplayFrequency As Long
End Type
Dim Dispositivo As DEVMODE

Sub Cambiar_Frecuencia(Frecuencia As Single)
  Dim a As Boolean
  Dim i As Integer
  i = 0
  Do
    a = EnumDisplaySettings(0&, i, Dispositivo)
    i = i + 1
  Loop Until (a = False)

  Dim b&
  Dispositivo.dmFields = DM_DISPLAYFREQUENCY
  Dispositivo.dmDisplayFrequency = Frecuencia

  ChangeDisplaySettings Dispositivo, 0
End Sub

Private Sub Form_Load()
Call Cambiar_Frecuencia(60)
End Sub


pasale a la funcion el valor de los Hz

saludos.