FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
FileExists() no lee .dll en system32
Buena tarde Foro, tengo el siguiente problema con la función FileExists(nombrearchivo). Busco un archivo con extensión .dll (nombrearchivo.dll), sin embargo la función me regresa (False) que no existe este archivo. Sólo lo hace para archivos que están en esa carpeta (Windows\System32) y con extensión .dll, si busco otro tipo de archivo si lo encuentra. Estoy utilizando Delphi 7, Windows 7 64 Bits. Tengo Avira y Superantispywere. El usuario con el que entro es tipo administrador y tiene permiso de acceso total sobre esta carpeta.
Antes los podía encontrar sin problema. Tuve problemas con el Avast y decidí cambiarlo por Avira, no se si la instalación haya cerrado algún acceso o cambiado la configuración de esta carpeta. Ya probé habilitando opciones en carpeta "Mostrar archivos de sistema". Si copio este archivo a otra carpeta p.ejemplo System, lo encuentra sin problema pero en System32 no lo identifica. ¿Alguien tiene idea de qué puede ser? Agradezco alguna ayuda. |
#2
|
||||
|
||||
Está claro que es problema de permisos, tendrás que investigar un poco más con se nuevo programa que has instalado.
|
#3
|
||||
|
||||
No puede probar en Win7 64bits pero he probado en Win7 32bits y la siguiente función funciona Ok.
Saludos. |
#4
|
|||
|
|||
Gracias por responder. Pues el programa está en delphi y simplemente lo que hice fue actualizar el proyecto. Voy a probar la solución que planteas escafandra.
Les comento en cuanto tenga resultados. |
#5
|
|||
|
|||
Cargué la función de escafandra pero sigue sin ver a los archivos .dll. Me tendré que pelear con permisos y características de la carpeta.
Gracias por sus comentarios. |
#6
|
||||
|
||||
Prueba hacer esto:
Mi PC Menu --> Herramientas, Lengueta [Ver], Busca y desmarca [] Ocultar las extensiones de archivo para tipos de archivo conocidos Haber si con esto te funciona. Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber. |
#7
|
||||
|
||||
System32 esta en el PATH del sistema por lo que cualquier ejecutable que coloques ahí, lo puedes invocar desde la línea de comando desde cualquier ruta en forma directa.
Por otra parte, en el FileExists() no coloques la ruta directa, sino que la variable del sistema. Por ejemplo para la carpeta de Windows sería %windir% lo mismo para system32. Puedes buscar la lista completa en Google colocando variables sistema windows o buscar información sobre como hacerlo mediante WMI. No se que problemas habras tenido con Avast pero al igual que este, Avira permite excluir el escaneo de archivos o carpetas. Pero no es recomendable para nada hacerlo, ya que los malwares se alojan y "crean" ahí. Parte desinfectado el sistema: - Corre CCleaner, tanto archivos como registro de Windows. - Luego corre Malwarebytes. |
#8
|
|||
|
|||
Gracias por sus ideas y aportes, en verdad que me me están dando más alternativas para encontrar realmente el problema. Tuve que suspender momentáneamente esta parte del desarrollo para continuar con las pruebas, por el momento lo puse en otro directorio y de ahí leo el archivo. Espero mañana retomar este caso para aplicar las opciones que me han dado y encerrar el problema.
|
#9
|
|||
|
|||
Hola nuevamente, he realizado lo que me han sugerido y en orden de ideas les comento lo siguiente:
1.- Probé en otro equipo (Win XP, no tengo otro con Win 7) y no tiene problema para localizar el archivo, lo encuentra y lo lee correctamente. 2.- Desinstalé el Avira y continua el mismo problema. 3.- Revisé mi equipo con 4 diferentes antivirus (superantispyware, dr. cureit, mabam, fileassassin) detecté algunos troyanos pero no de gravedad. Quedó limpiecita la lap y además pasé el ccleaner y aún continua el problema. 4.- Modifiqué permisos, asigné control total sobre los archivos que quiero buscar y leer a todos los usuarios y nada. Ahora bien, si trato de leer la carpeta system32 incluso con otra aplicación que no esté en delphi, tampoco "ve" los archivos en esa carpeta, ve otros archivos .dll pero el que yo creo o modifico no los "ve", con el navegador de windows si se ven. Lo curioso es que cuando paso este archivo a otra carpeta lo "ve" sin problema. Supongo que ha de ser alguna "restricción" o configuración de la seguridad de la carpeta junto con la de los archivos que he copiado ahí. Agradeceré alguno otra sugerencia. |
#10
|
|||
|
|||
Por otro lado y al determinar que el problema no es la función del fileExists(), no se si sea conveniente continuar este hilo en este foro, por mi parte también he abierto un tema en cuanto a la seguridad y permisos de Win 7 en el foro "infospyware". Si me lo permiten, me gustaría dejar este hilo un poco más de tiempo para determinar el error real y postear aquí la solución que pudiera encontrar.
Gracias nuevamente. |
#11
|
||||
|
||||
¿no será Windows 7? El archivo que intentas leer, ¿es de la instalación de windows, o bien lo has puesto tú?
Lo pregunto porque en W7, si un programa pone un archivo en windows\system y demás, si no tiene privilegios de administrador, en realidad te lo coloca en c:\users\<nombre usuario>\ en una carpeta oculta. En principio, eso es totalmente transparente a los usuarios, pero quizás tenga algo que ver. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Fallo copyfile y fileexists en servicio windows y red | Ivanzinho | Varios | 4 | 13-08-2013 09:50:59 |
Duda con FileExists | nena_yei | OOP | 12 | 04-11-2010 17:20:05 |
FileExists o DirectoryExists pero no solo en el actual | pnikkosis | OOP | 2 | 01-12-2009 04:24:07 |
Fileexists sobre una red | Kipow | Varios | 2 | 26-05-2006 14:57:43 |
ShellExecute y "c:\WINDOWS\system32\telephon.cpl" | Durbed | API de Windows | 7 | 20-12-2005 21:33:04 |
|