Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ¿Cómo dar permisos de administrador a mi aplicación de Windows 7 en adelante? (https://www.clubdelphi.com/foros/showthread.php?t=90465)

darkbits 15-06-2016 20:37:33

¿Cómo dar permisos de administrador a mi aplicación de Windows 7 en adelante?
 
un saludo al foro
tengo una aplicación que escribe datos en archivos txt para hacer esto la aplicación tiene que estar en modo administrador, de lo contrario NO da en windows 7 en adelante.
mi consulta es como puedo volverlo a mi .exe q se ejecute automáticamente en modo ADMIN para windows 7 en adelante?? manualmente si lo hice dando click derecho... etc.
encontré en google este titulo que necesito adjuntar este archivo executionlevelrequireadministratormanifest.res a la aplicacion.
y también encontré un vídeo que hace ello en compilador C pero no encuentro los archivos https://www.youtube.com/watch?v=QVoG...o&noredirect=1


alguien me puede apoyar como mi aplicación puede salir con el escudito? y q se pueda ejecutar automáticamente en modo administrador estaré agradecido.

dec 15-06-2016 21:03:59

Hola,

En este artículo (en inglés) está muy bien explicado. Básicamente podemos usar un "manifesto" para nuestra aplicación tal que así:

Código:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestversion="1.0">
<assemblyIdentity version="1.1.1.1">
processorArchitecture="*"
name="your_app_name.exe"
type="win32" />
<description>elevate execution level</description>
<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.v2"><security>
<requestedPrivileges>
<requestedExecutionlevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustinfo>
</assembly>

Debes guardar el código de arriba como un archivo ".manifest" y asignarlo a tu programa desde la opciones del proyecto:



De todas formas, si sólo necesitas permisos de administrador para escribir en un archivo, entonces es que dicho archivo está en el lugar equivocado: donde no puedes escribir. Pero, si cambias la ubicación del archivo a una carpeta con permisos de escritura, por ejemplo, la carpeta "Documentos" del usuario, entonces no necesitarás permisos de administrador para tu programa. Creo que esto último es más razonables si necesitas dichos permisos sólo para escribir en un archivo.


La franja horaria es GMT +2. Ahora son las 04:13:43.

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