Discussione: D3DRM.dll
Visualizza messaggio singolo
Vecchio 20 novembre 07, 03:15   #13 (permalink)  Top
andrex71
User
 
L'avatar di andrex71
 
Data registr.: 10-09-2007
Residenza: trieste
Messaggi: 264
Citazione:
Originalmente inviato da TheFoggy
La directory in cui c'è l'eseguibile è SEMPRE la prima directory in cui un eseguibile cerca una dll. A meno di cambiare la directory di lavoro..ma per farlo devi cambiare le impostazioni del collegamento da cui lo lanci..in pratica se metti la dll nella cartella dell'exe funziona!

Capisco anche che sia un file dx, la soluzione alternativa, potrebbe essere di scaricare l'ultima release DX e installarle. Magari qualche altra applicazione ha eliminato quel file.

PS2: cmq, se apri windows/system32 e fai incolla, ti chiede i diritti per copiare il file! é impossibile che non te li chieda!
anzi dirò di più, la normale chiamata alle Windows API è della forma:

HMODULE WINAPI LoadLibraryEx(
__in LPCTSTR lpFileName,
__reserved HANDLE hFile,
__in DWORD dwFlags
);

dove lpFileName cito testualmente:

The name of the executable module (either a .dll or an .exe file). This name is the file name of the executable module; it is not related to the name stored in a library module itself, as specified by the LIBRARY keyword in the module-definition (.def) file.

If the string specifies a path, but the file does not exist in the specified directory, the function fails. When specifying a path, be sure to use backslashes (\), not forward slashes (/).

If the string does not specify a path, and the file name extension is omitted, the function appends the default library extension .dll to the file name. However, the file name string can include a trailing point character (.) to indicate that the module name has no extension.

If the string does not specify a path, the function uses a standard search strategy to find the file. See the Remarks for more information.

If mapping the specified module into the address space causes the system to map in other, associated executable modules, the function can use either the standard search strategy or an alternate search strategy to find those modules. See the Remarks for more information.


Quindi come vedi lo sviluppatore ha perfettamente la possibilità di caricare una dll solo se si trova dove + lo aggrada.

Caricare da sys32 o da . è solo una convenzione perchè i programmatori sono PIGRI!!1


saluti
Andrea
__________________
La natura non può essere ingannata. (Richard Feynman)
andrex71 non è collegato   Rispondi citando