Windows un poco de procesamiento de archivos DLL

  
 

Los archivos de Windows
DLL pueden tener un alias, se establece en HKEY_LOCAL_MACHINE \\ SYSTEM \\ CurrentControlSet \\ Control \\ Session Manager \\ KnownDLLs, podemos ver la lista de alias con el editor de registro .

Por ejemplo, si hay un dato, kernel32 /kernel32.dll Este registro garantiza que siempre se llame a la versión kernel32.dll de system32 cuando se llame a LoadLibrary (" kernel32.dll "). Y no será el kernel32.dll en el directorio actual (si corresponde). ¿Cómo se hace esto?

LoadLibrary encontró que kernel32.dll (sin especificar explícitamente la ruta) debe cargarse en la cadena de parámetros, luego el elemento DllDirectory se encontrará en el registro y kernel32.dll se cargará en la ruta especificada.

Tenga en cuenta que los nombres de clave aquí no tienen el sufijo de .dll. Cuando el sistema reconoce si la dll pertenece a KnownDLLs, solo puede funcionar en archivos que deben cargarse con una extensión .dll, y luego cortar el sufijo cuando coincida con el nombre de la clave.

También podemos cambiar el registro para lograr el efecto de cambiar el nombre de estas DLL del sistema.

< strong > Acerca de los DLL de objetos COM almacenados en directorios locales < /strong >

Objetos COM registrados, si tiene miedo de entrar en conflicto con otro software, puede usar DLL para transferir Tecnologia Sin embargo, esto no es compatible con Windows 98.

Por ejemplo, myapp.exe quiere forzar que se cargue primero la DLL en el directorio actual. Simplemente cree un archivo llamado myapp.exe.local. Después de iniciar myapp.exe, la DLL se cargará primero desde el directorio actual.

Copyright © Conocimiento de Windows All Rights Reserved