Ir al contenido


Foto

[RESUELTO] Modificar resolucion de monitor


  • Por favor identifícate para responder
6 respuestas en este tema

#1 ramflores

ramflores

    Member

  • Miembros
  • PipPip
  • 42 mensajes
  • LocationMonterrey, Mexico

Escrito 06 octubre 2009 - 11:54

Hola foro.

Como puedo forzar la resolucion de un monitor desde el codigo de delphi, por ejemplo si detecto que el monitor esta a 800x600 cambiarlo desde codigo a 1280 x 720, por decir un ejemplo

gracias de antemano
:D
  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 06 octubre 2009 - 12:31


delphi
  1. procedure TForm1.FormCreate(Sender: TObject);
  2. var res: string;
  3.     DevMode    : TDeviceMode;
  4.     liRetValue : Longint;
  5. begin
  6. res := IntToStr(Screen.Width)+'x'+IntToStr(Screen.Height);
  7.  
  8. if (res = '800x600') then begin
  9.   if EnumDisplaySettings(nil,143,Devmode) then
  10.   liRetValue := ChangeDisplaySettings(DevMode,0);
  11.  
  12.   SendMessage(HWND_BROADCAST,
  13.               WM_DISPLAYCHANGE,
  14.               SPI_SETNONCLIENTMETRICS,
  15.               0);
  16.  
  17.  
  18.   case liRetValue of
  19.     DISP_CHANGE_SUCCESSFUL: ShowMessage('DISP_CHANGE_SUCCESSFUL: The settings change was successful.');
  20.     DISP_CHANGE_RESTART  : ShowMessage('DISP_CHANGE_RESTART: The computer must be restarted in order for the graphics mode to work.');
  21.     DISP_CHANGE_BADFLAGS  : ShowMessage('DISP_CHANGE_BADFLAGS: An invalid set of flags was passed in.');
  22.     DISP_CHANGE_FAILED    : ShowMessage('DISP_CHANGE_FAILED: The display driver failed the specified graphics mode');
  23.     DISP_CHANGE_BADMODE  : ShowMessage('DISP_CHANGE_BADMODE: The graphics mode is not supported');
  24.     DISP_CHANGE_NOTUPDATED: ShowMessage('DISP_CHANGE_NOTUPDATED: Unable to write settings to the registry.');
  25.   end;
  26. end;
  27. end;

Prueba con eso.

Saludos.


  • 0

#3 ramflores

ramflores

    Member

  • Miembros
  • PipPip
  • 42 mensajes
  • LocationMonterrey, Mexico

Escrito 06 octubre 2009 - 01:41

Muchas gracias enecumene, me sirvio a la perfeccion
  • 0

#4 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 06 octubre 2009 - 02:25

Muchas gracias enecumene, me sirvio a la perfeccion


¡Excelente te haya servido! :). pondré el tema como [RESUELTO]. ;)
  • 0

#5 ramflores

ramflores

    Member

  • Miembros
  • PipPip
  • 42 mensajes
  • LocationMonterrey, Mexico

Escrito 06 octubre 2009 - 02:32

Muchas gracias enecumene, me sirvio a la perfeccion, de echo ya le hice unas adecuaciones



delphi
  1. function SetScreenResolution(Ancho, Altura: integer): Longint;
  2. var
  3.   DeviceMode: TDeviceMode;
  4. begin
  5.   with DeviceMode do begin
  6.     dmSize := SizeOf(TDeviceMode);
  7.     dmPelsWidth := Ancho;
  8.     dmPelsHeight := Altura;
  9.     dmFields := DM_PELSWIDTH or DM_PELSHEIGHT;
  10.   end;
  11.   Result := ChangeDisplaySettings(DeviceMode, CDS_UPDATEREGISTRY);
  12. end;




  • 0

#6 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 06 octubre 2009 - 02:35

Muchas gracias por publicar tu solución Ramiro.

Salud OS

PD, me tome el atrevimiento de modificar tu post, le agregue la etiqueta de delphi.
  • 0

#7 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 06 octubre 2009 - 02:37

Muchas gracias por publicar tu solución Ramiro.

Salud OS

PD,me tome el atrevimiento de modificar tu post, le agregue la etiqueta de delphi.


:o qué atrevido !!!!!!!! :p

Saludox ! :D
  • 0




IP.Board spam blocked by CleanTalk.