Voy a exponerte lo que yo hago en mis aplicaciones. primero controlo la resolución que tiene el usuario y le pongo la que yo deseo (presuponiendo que la targeta gráfica la soporte). Al salir repongo la resolución que tenía.
Una mejora (como posible ejercicio de repaso

), podría ser el implementar la reposición de la resolución del usuario al minimizar también la aplicación, poniendo la deseada de nuevo al magnificarla.
Indicaré el código y la unidad donde incluirlo.
Espero te sirva.
Lugar: Unidad principal del proyecto, donde se lanza la aplicación.
Código Delphi
[-]
var
ResOriginal:TDevMode;
NuevaRes:TDevMode;
cambio:boolean;
Lugar: Unidad principal del proyecto, donde se lanza la aplicación. Justo despues del begin de comienzo del principal.
Código Delphi
[-]
begin
cambio:= false;
EnumDisplaySettings(Nil,Cardinal(-1),ResOriginal);
If ((Resoriginal.dmpelsWidth<>1024) or (Resoriginal.dmpelsheight<>768))
then
begin
EnumDisplaySettings(Nil,Cardinal(-1),NuevaRes);
NuevaRes.dmpelsWidth :=1024;
NuevaRes.dmPelsHeight:=768;
ChangeDisplaySettings(NuevaRes,CDS_UPDATEREGISTRY);
cambio:= true;
end;
Lugar: Unidad principal del proyecto, en la última línea del cuerpo principal.
Código Delphi
[-]
if cambio then ChangeDisplaySettings(Resoriginal,CDS_UPDATEREGISTRY);
Espero no haberme dejado nada.
Sort.