Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-11-2008
mrtossas mrtossas is offline
Registrado
 
Registrado: nov 2008
Posts: 3
Poder: 0
mrtossas Va por buen camino
Privilegios y Windows Vista

Hola a todos,

Tengo un programa que en XP va de maravilla; pero llegó Vista... y el caso es que utilizando botón derecho y ejecutar como administrador afortunadamente también funciona, excepto una opción donde necesito escribir en el win.ini que da error de escritura. Buscando información, he leido que está protegido en Vista, ¿alguién puede ayudarme para escribir un valor en el win.ini?

Si de ninguna forma fuese posible, necesito escribir un valor en "algún sitio" (regedit...) que sea accesible (lectura y escritura) independientemente del usuario que inicie sesión en Vsta. ¿Qué me recomendáis?

Gracias.

Marcial.
Responder Con Cita
  #2  
Antiguo 19-11-2008
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
Hola.

Para que tu aplicacion tenga permisos de administrador en windows vista, incluye este codigo en el *.dpr:

{$R *.RES}
{vista.res} //pon esta línea en tu código

El fichero lo he dejado en el FTP del club, en la seccion Delphi-Win32/Recursos/

¿Es realmente necesario que escribas en el fichero win.ini?

La solución a tu problema:
Todas las carpetas de sistema, incluyendo c:\documents and settings
tienen marcada la opcion "Denegar permisos explicitamente" para cualquier grupo de usuarios.
Esta opcion prevalece sobre las del grupo administradores, puesto que al ser un grupo,
está contenido en la opcion "Todos los grupos".

Debes entrar como administrador y quitar esa marca.

Texto original:
All of the system areas including c:\documents and settings have the
Everybody Group with an Explicity Deny permission. This over-rides the full
control permission that the adminsitrator group has because he is also in
the everyone group. Just take Ownership as an admistrator and then remove
the Everyone Group and then you will have access.

http://www.vistax64.com/vista-genera...les-vista.html
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...

Última edición por defcon1_es fecha: 19-11-2008 a las 12:20:27.
Responder Con Cita
  #3  
Antiguo 19-11-2008
mrtossas mrtossas is offline
Registrado
 
Registrado: nov 2008
Posts: 3
Poder: 0
mrtossas Va por buen camino
Daniel, gracias por tu respuesta.

No me funciona lo de incluir vista.res, pero tal vez es porque utilizo delphi 5. He creado yo otro vista.res a partir de:

<?xml version="1.0" encoding="utf-8" ?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0"
processorArchitecture="X86"
name="Vista UAC Compat.Application"
type="win32" />
<description>WindowsVistaReadiness Application</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" />
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

y lo he compilado con el brcc32 de delphi 5 y crea el archivo algo mayor que el tuyo, pero tampoco funciona.

Escribir en el win.ini no es imprescindible, pero sí por ejemplo en la rama de all_users, cosa que tampoco consigo. Y lo de ejecutar la aplicación con permisos de administrador, sí que me es imprescindible, ya que entre otras cosas, leo el nº de serie del disco (y como user normal, no se puede leer).

¿Alguna idea? (aparte de migrar a un delphi más moderno... de momento).

Gracias de nuevo por tu tiempo.
Responder Con Cita
  #4  
Antiguo 19-11-2008
mrtossas mrtossas is offline
Registrado
 
Registrado: nov 2008
Posts: 3
Poder: 0
mrtossas Va por buen camino
Perdón, sí funciona!

Había hecho un copiar y pegar de tu línea:

{vista.res}

cuando lo correcto es:

{$R vista.res}

En fin, la de vueltas que he dado por no fijarme en ese detalle tonto.

Ahora ya funciona ok el programa.

Lo único y que no sé si tiene solución sería evitar que salga la pantallita esa de Permitir... ¿es posible? Gracias de nuevo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Registro en windows disponible para todos los usuarios y sin privilegios de admin papulo API de Windows 8 10-06-2008 12:11:06
Microsoft autoriza a los fabricantes a instalar Windows XP en vez de Windows Vista Ñuño Martínez Noticias 4 26-09-2007 06:11:19
Windows Vista: el nuevo Windows ME Casimiro Notevi Noticias 14 21-06-2007 10:39:57
Windows cede ante Google y modificará Windows Vista Bicho Noticias 5 20-06-2007 23:31:04
Windows Vista ArdiIIa La Taberna 3 08-03-2007 12:29:53


La franja horaria es GMT +2. Ahora son las 21:25:40.


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
Copyright 1996-2007 Club Delphi