Hola, les cuento que estoy haciendo una aplicacion la cual necesita permisos de administrador para que algunas funciones sirvan, como leer el nombre del procesador por medio de un Registry, etc.
He estado investigando y encontre un hilo que explicaba como hacerlo, no agrego el link porque aun no puedo agregar, pero cito textualmente la solucion a la que llegan:
Cita:
Empezado por Chris
El XPManifiest (declarado en la unidad XPMan) lo único que hace es incluir un archivo de recursos llamado WindowsXP.res (este archivo está en la carpeta de recursos de Delphi).
Lo que tienes que hacer, es hacer una modificación del archivos WindowsXP.res y con un editor de registros cambia el único recurso #24 con el siguiente contenido:
Código:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
type="win32"
name="Delphi 7"
version="7.1.0.0"
processorArchitecture="*"/>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="*"/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="requireAdministrator"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
Guarda en un archivo separado la nueva versión del archivo de recursos. Talvez le puedes nombrar vista_RequireAdministrator_manifiest.res. Luego en el proyecto quita toda referencia a XPManifiest y la unidad XPMan (es muy importante que hagas esto). Cuando ya lo hallas hecho, en cualquier parte del código de tu aplicación incluye una directiva de compilación {$R vista_RequireAdministrator_manifiest.res} indicando que adjunte el archivo manifiesto que has creado con el código que anteriormente te proporcione.
Saludos,
Chris
|
Bueno, el problema que yo tengo es que trabajo con Windows 7, y con Embarcadero2010, y bueno lo unico que tengo dentro de la carpeta de mi aplicacion es un
Project1.res, no tengo ninguno mas, intente inicialmente modificar ese archivo agregandole el codigo anterior y luego no me ejecuto la aplicacion, despues cree un
archivo_prueba.res pero no logre adjuntarlo, el codigo del
Project1.res es:
Código:
ÿÿ ÿÿ ¨ ÿÿ ÿÿ
( @ U_U €€€ ª €€€ €€€ €€€ €€€ ¤ U?U U_U U?U U_* U_U U?U U_U U_U U?U U_U U?U U_U U?U U_U €€€ U_U €€€ U_U €€€ €€€ ª €€€ ªŸª U_U ÿ ªU ª_U ª_U ª_U ª_U U?U U¿Ô UŸª UŸÿ ¿Ô U¿ÿ UŸª U_U €€€ ª U ªU U?U €€€ U_U ª_ U ª €€€ U_U ªU ¤ ªU ª_U ª_U ªU U?U UŸª Uª ßÔ Ußÿ ¿Ô U¿Ô U?U €€€ €€€ ªŸ €€€ €€€ U_U U_U €€€ U_U ª U ÿ¿ª U_ ¤ ÿŸ ª_U ª_U ª_U ª_* U_U UŸª UŸÔ ¿ÿ U¿Ô Ußÿ ŸÔ U_U €€€ €€€ ªŸ ª ª €€€ ª U_U U_U U_U U €€€ ª¿Ô U_U ÿ ªŸ ªU ª_* ª_U ª_U U?U ªŸª UŸª ª¿Ô ¿ÿ ¿ÿ UßÔ U?U U €€€ ÿŸ ªŸª ªŸ ªŸ ª €€€ €€€ €€€ ªŸª UŸÔ ª¿Ô ÿÿÿ U_ ªŸU ÿŸª ª_U ª_U ª_U ª_U U_U U¿ª ŸÔ Ußÿ ªßÔ Ußÿ ŸÔ U_U €€€ ªŸ ªŸ ¤ ÿŸ ªŸ ¤ €€€ ªª UŸª Uª UŸª ªŸª UŸÔ ª¿Ô UU U?U U?U U_U U?U U_U U_* U?U U?U U_U U?U U_U ?U U?U U_U €€€ ÿŸª ª¿ ÿŸ ªŸ ÿŸª €€€ UŸª UŸª Uª U_ª ? ?U U?U ªŸÔ U_U UŸÔ UŸÿ ª U?Ô ?Ô ÿ _U ª¿ª UU UŸU U¿ U¿ª U¿U U?U €€€ ¤ ¤ ÿŸª ÿ¿ ¤ ¤ €€€ UŸÔ UÔ U? ÀÜÀ €€€ ªŸª ªª ÀÜÀ ª_U ÿ UÔ U_Ô ?ª U?Ô ?ª U?U UŸU UŸU U¿ U¿ª U¿ UŸU U?U €€€ ÿŸª ÀÜÀ ÿŸª ¤ ÿ¿ª €€€ UÔ UŸª U_ª ? ÀÜÀ ÿ¿Ô UŸª ªŸª ÀÜÀ U_ UÔ UŸÔ Ô U?Ô _Ô Uª U_U ª¿ª U U¿ U¿ª U¿ UŸ U_U ª ªŸª ÀÜÀ ðʦ ÀÜÀ ÿ¿ª ¤ Uª Ô UÔ _ª ?U ÿÌÿ ÀÜÀ U_ ?U ¤ U_ UŸÔ Ô U_Ô ?Ô ?Ô ªª U?U U¿ª UŸU UŸU U¿ª U¿ U¿ U?U €€€ ¤ ÿßÔ ÿ¿Ô ðʦ ÀÜÀ ªŸª _ª UÔ _Ô U_ª ?U ÿßÔ ª¿Ô U_ ? ª¿Ô U_U UŸÔ UÔ Ô U?ª U_Ô ?Ô U_U €€€ UU U¿ U¿ U¿ª U¿ U_* €€€ ÀÜÀ ÿÿÿ ÿßÔ ÀÜÀ ÿßÿ €€€ _Ô _ª U_ª _ª ÀÜÀ ª¿Ô U?U U_ª ª¿Ô ªŸª U_ U_U U_U U_ U_U U_U U_ U_U U_U U_ U_U U_U U_U ªŸª €€€ ÿÿÿ ÿßÔ ÀÜÀ ÿ¿Ô ÀÜÀ U_ª _ª U_Ô _ª U?ª ?U ÿßÔ ¤ _ ? UÔ ªßÔ ª¿Ô ªŸÔ ÀÜÀ ÿßÿ ª¿Ô ªŸª ª¿Ô ªßÿ ÿÿÿ ÀÜÀ ÿ¿Ô ªŸª ªŸ ªŸª U ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿßÔ ?ª U?ª _ª _ª _ª UU ªßÿ ¤ U?U U_ª _ª UÔ UÔ €€ U_ª ÀÜÀ €€€ U?U UÔ U¿Ô ªŸÔ UŸª €€€ ªŸ ¤ €€€ ª ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÀÜÀ _ª ?ª U?ª ?ª ?ª ?U ÿßÔ ª¿ª ? ? UÔ U_ª Ô U? U_ ÀÜÀ ªŸª ?U Uª ªŸÔ U¿Ô ªª €€€ ªŸ €€€ ªŸª U ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÀÜÀ U? ?ª _ª U_ª U_ª U ÀÜÀ ªŸÔ U_U ?ª U_ª Ô U_ª _ U_ª ÀÜÀ ªª ? Uª UŸÔ UŸÔ €€€ €€€ €€€ ªª €€€ ª ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ _ª U_ _ª Uª ? ? ÿßÔ ¤ ? U? _ª _Ô U_ª ? €€€ ª¿Ô €€€ U? ª UŸÔ UŸÿ €€€ U_U €€€ €€€ €€€ U ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ªŸª U_ª U_Ô ªŸÔ U_ª U ÿßÔ ¤ U? ? _ª U_ª ?ª U ªÔ ÀÜÀ U ?U UÔ UÔ €€€ U €€€ ªU €€€ €€€ €€€ ÿßÔ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÀÜÀ UŸª ÀÜÀ Uª U_ª U ÀÜÀ ªŸª U?U € _ª ? ?U U_ ÀÜÀ ªŸÔ U? ?ª Uª Ô Uª U?U U_U U_ UU ª €€€ ÀÜÀ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÌÿ ª¿ª U_ª ? U ÿÌÿ ÀÜÀ ? U U U U_ª ÿ¿Ô ÀÜÀ €€€ ?U _ª Ô U_Ô €€€ €€€ U_U U_U ª_ UU €€€ €€€ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ UŸÔ Uª U_ U ÀÜÀ ÀÜÀ ªŸª €€€ Uª ÿ¿ª ª¿Ô ÀÜÀ ªª ?ª U_ª _ª Uª €€€ UU ª_U U_ €€€ €€€ €€€ ÀÜÀ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ª¿ª U_ª ? U ÿÿÿ ÿßÔ ÿÌÿ ÀÜÀ ÿßÔ ª¿Ô ªŸª U? U ? U_ª _ª Uª €€€ ªŸ ª_ €€€ U_U €€€ €€€ €€€ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ªŸª ? ?U U U U U U U U ? ? ?ª ?ª _ª ªª ªŸ €€€ ªŸ ª €€€ UU €€€ ¤ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ªŸª U? ? ?U ?U ? ? ?ª ?ª U_ ªŸª ªŸ ªŸ ªŸ €€€ ªŸ €€€ €€€ €€€ ÿßÔ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÀÜÀ €€€ _ U? ? ? ? ? U?ª U_ €€€ ª¿Ô ÿŸ ªŸª ÿŸ ªŸª ª €€€ €€€ €€€ €€€ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿßÿ ÀÜÀ ª¿ª ªŸª ¤ ªŸÔ ª¿ª ÀÜÀ ÀÜÀ ÿŸª ª¿ ÿŸ ªŸ ªŸ ªŸ €€€ €€€ €€€ ÿßÔ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿßÔ ÀÜÀ ÿÌÿ ðʦ ðʦ ª¿ª ÿŸª ª¿ª ÿŸ €€€ €€€ €€€ €€€ ¤ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿßÔ ÿßÔ ÀÜÀ ÿÌÌ ÿ¿ª ª¿ª ÿŸ €€€ €€€ €€€ €€€ €€€ ÀÜÀ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÀÜÀ ÿ¿Ô ÀÜÀ ÿ¿ª ªŸª €€€ €€€ €€€ €€€ €€€ ¤ ÀÜÀ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÌÌ ÀÜÀ ¤ €€€ €€€ €€€ €€€ €€€ €€€ €€€ €€€ €€€ €€€ €€€ €€€ €€€ €€€ ÿÀ ÿ ü ø ð à À À € € € € À À à ð ø ü ?ÿ ÿÿÀÿ 0 ÿÿ M A I N I C O N
¨ R ÿÿ ÿÿ
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
type="win32"
name="CodeGear RAD Studio"
version="14.0.3513.24210"
processorArchitecture="*"/>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="*"/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
Copiado con Bloc de notas, alguien me puede ayudar con este problema, ya intente varias cosas, pero no logro hacerlo.
De antemano muchas gracias por la ayuda.