Hola de nuevo.
No te aconsejo cambiar la configuración de pantalla de las distintas PC, ya que invade las preferencias personales y normalmente molesta a los empleados. Pero si no te convence o no te resulta la sugerencia del mensaje anterior, podes cambiar los valores así:
Código PHP:
#include <registry.hpp>
const int SCALE_100 = 96.0;
int getDPIscale(void)
{
TRegistry *reg = new TRegistry;
int scale = 0;
__try {
reg->RootKey = HKEY_CURRENT_USER;
if(reg->OpenKey("\\Control Panel\\Desktop", false))
scale = reg->ReadInteger("LogPixels");
}
__finally {
delete reg;
}
return scale;
}
void setDPIscale(const int &scale)
{
TRegistry *reg = new TRegistry;
__try {
reg->RootKey = HKEY_CURRENT_USER;
if(reg->OpenKey("\\Control Panel\\Desktop", false))
reg->WriteInteger("LogPixels", scale);
}
__finally {
delete reg;
}
}
Ejemplo de uso:
Código PHP:
void __fastcall TForm1::btnGetClick(TObject *Sender)
{
ShowMessage(getDPIscale());
}
void __fastcall TForm1::btSetClick(TObject *Sender)
{
int value;
if (TryStrToInt(Edit1->Text, value))
setDPIscale(value);
}
Luego de cualquier cambio debes minimamente cerrar y volver a abrir sesión o reiniciar el equipo para que tome la nueva configuración.
Saludos