Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ejecutar archivo con modo compatibilidad (https://www.clubdelphi.com/foros/showthread.php?t=85913)

Enan0 23-05-2014 15:35:39

Ejecutar archivo con modo compatibilidad
 
Buenos Dias a todos

Alguien sabe como se puede hacer ejecutar un programa externo, desde nuestra aplicación delphi, y setearle previamente los Modos de "compatibilidad" y "Administrador"


Muchas gracias a todos

ecfisa 23-05-2014 17:06:57

Hola Enan0.

Para configurar el modo de compatibilidad de la aplicación podes hacer:
Código Delphi [-]
uses Registry;

procedure SetAppCompatibility(const AppPath, CompatMode: string);
begin
  with TRegistry.Create do
  try
    RootKey:= HKEY_CURRENT_USER;
    if OpenKey('\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers', True) then
    begin
      WriteString(AppPath, CompatMode);
      CloseKey;
    end
    else MessageBox(0,'Error escribiendo el registro','',MB_ICONERROR);
  finally
    Free;
  end;
end;

// Llamada de ejemplo
procedure TForm1.Button1Click(Sender: TObject);
begin
  SetAppCompatibility('C:\pruebas\programa.exe', 'WINXPSP3 RUNASADMIN');
end;

Compatibility modes:
Código:

WIN95                Windows 95
WIN98                Windows 98
WIN4SP5        Windows NT 4.0 SP5
WIN2000        Windows 2000
WINXPSP2        Windows XP SP2
WINXPSP3        Windows XP SP3
VISTARTM        Vista
VISTASP1        Vista SP1
VISTASP2        Vista SP2
WIN7RTM        Windows 7

Display Settings
Código:

DISABLETHEMES        Disable Visual Themes
640X480        Run in 640 x 480 screen resolution
HIGHDPIAWARE        Disable display scaling on high DPI settings
256COLOR        Run in 256 colors
DISABLEDWM        Disable Desktop Composition

Privilege Level
Código:

RUNASADMIN        Run program as an administrator
Para ejecutarlo como administrador también revisa estos enlaces:

Ejecutar Como en C++
Ejecutar aplicacion como administrador en windows 7

Saludos :)

Enan0 23-05-2014 18:50:30

Hola Ecfisa,

Muchas gracias por la info! yo tambien termine encontrando la misma información de ACA

Despues de mucho buscar y terminar buscando "how to set compatibility mode in windows 7 +command line"


Saludos y Gracias una vez mas

ecfisa 24-05-2014 02:50:50

Hola Enan0.

Yo obtuve de Microsoft los valores del registro y los flags.

El enlace que pusiste aparece como incorrecto, si deseas enviamelo por pm y lo corrijo en tu mensaje.

Saludos :)


La franja horaria es GMT +2. Ahora son las 17:21:31.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi