![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
...Bueno, pues si que es posible. El hModule de nuestra dll es la HINSTANCE con la que se carga... Publico la forma como lo he conseguido.
Código:
char* GetDllFileName(HINSTANCE hinst, char* Buffer, int SizeBuffer)
{
HANDLE hProcess;
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, false, GetCurrentProcessId());
if(hProcess)
GetModuleFileNameEx(hProcess, hinst, Buffer, SizeBuffer-1);
CloseHandle(hProcess);
}
|
|
#2
|
||||
|
||||
|
Solo por curiosidad escafndra; GetModuleFileName(hinst, Buffer, SizeBuffer-1); o talvez, aunque sea lo mismo; GetModuleFileName(GetModuleHandle(NULL), Buffer, MAX_PATH);
![]() |
|
#3
|
||||
|
||||
|
Las DLL tambien tienen un HInstance con el cual puedes obtener el nombre del modulo. Cuando creas una DLL usando C se crea una función llamada DLLMain, la cual tiene como parámetro la instancia. El problema es que no se cual es el equivalente en delphi de esta función o si se implementa o no
__________________
self.free; |
|
#4
|
||||
|
||||
|
Si, tienes razón en parte cHackAll. GetModuleFileName(hinst, Buffer, SizeBuffer-1); funciona igual. Pero GetModuleFileName(GetModuleHandle(NULL), Buffer, MAX_PATH); me devuelve el nombre del proceso.exe y no el de la dll. Por eso descarté, en un principio ese método.
Estudiando la enumeración que me propuso droguerman y usando el debug descubrí que el hModule de la dll, que tanto buscaba, no era ni mas ni menos que la HINSTANCE de la dll y no me lo pensé mas, adapté el código que hice para la enumeración... Pero la solución más simple es, una vez más, la que propones: Código:
GetModuleFileName(hinst, Buffer, SizeBuffer-1); Saludos y Gracias. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| "nombre de archivo inválido" Error cuando la ruta es muy larga. | JuanErasmo | Windows | 6 | 21-04-2008 15:36:45 |
| Conocer el nombre del servidor | Pablo Carlos | Redes | 4 | 07-03-2005 23:08:10 |
| Conocer PrinterIndex a partir del nombre | Novás | Varios | 1 | 16-07-2004 18:26:14 |
| Ruta y nombre de archivo INI | jfranco | Varios | 2 | 27-02-2004 16:44:23 |
| Conocer el nombre de la aplicacion que se encuentra activa | cso2000 | Varios | 4 | 24-10-2003 02:28:14 |
|