Foro de elhacker.net

Programación => 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
  1. Option Explicit
  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.  
  5. Const CCDEVICENAME = 32
  6. Const DM_DISPLAYFREQUENCY = &H400000
  7. Const CCFORMNAME = 32
  8.  
  9. Private Type DEVMODE
  10.  dmDeviceName As String * CCDEVICENAME
  11.  dmSpecVersion As Integer
  12.  dmDriverVersion As Integer
  13.  dmSize As Integer
  14.  dmDriverExtra As Integer
  15.  dmFields As Long
  16.  dmOrientation As Integer
  17.  dmPaperSize As Integer
  18.  dmPaperLength As Integer
  19.  dmPaperWidth As Integer
  20.  dmScale As Integer
  21.  dmCopies As Integer
  22.  dmDefaultSource As Integer
  23.  dmPrintQuality As Integer
  24.  dmColor As Integer
  25.  dmDuplex As Integer
  26.  dmYResolution As Integer
  27.  dmTTOption As Integer
  28.  dmCollate As Integer
  29.  dmFormName As String * CCFORMNAME
  30.  dmUnusedPadding As Integer
  31.  dmBitsPerPel As Integer
  32.  dmPelsWidth As Long
  33.  dmPelsHeight As Long
  34.  dmDisplayFlags As Long
  35.  dmDisplayFrequency As Long
  36. End Type
  37. Dim Dispositivo As DEVMODE
  38.  
  39. Sub Cambiar_Frecuencia(Frecuencia As Single)
  40.  Dim a As Boolean
  41.  Dim i As Integer
  42.  i = 0
  43.  Do
  44.    a = EnumDisplaySettings(0&, i, Dispositivo)
  45.    i = i + 1
  46.  Loop Until (a = False)
  47.  
  48.  Dim b&
  49.  Dispositivo.dmFields = DM_DISPLAYFREQUENCY
  50.  Dispositivo.dmDisplayFrequency = Frecuencia
  51.  
  52.  ChangeDisplaySettings Dispositivo, 0
  53. End Sub
  54.  
  55. Private Sub Form_Load()
  56. Call Cambiar_Frecuencia(60)
  57. End Sub

pasale a la funcion el valor de los Hz

saludos.