Autor
|
Tema: [Solucionado] Como obtener el "Nombre de Producto" de una Dll o un Exe (Leído 3,470 veces)
|
agus0
Desconectado
Mensajes: 360
|
Que tal compañeros del foro. estoy buscando un método para obtener el "Nombre de Producto" de Una Dll y de un ejecutable a partir de su ubicación (Ejemplo "C:\rest.dll") ¿Alguien tiene idea como puedo hacer? DESDE AHORA. G R A C I A S
|
|
« Última modificación: 29 Agosto 2010, 07:48 am por agus0 »
|
En línea
|
|
|
|
Petro_Boca
Desconectado
Mensajes: 233
Antoo Te Amoo :D
|
Que tal compañeros del foro. estoy buscando un método para obtener el "Nombre de Producto" de Una Dll y de un ejecutable a partir de su ubicación (Ejemplo "C:\rest.dll") ¿Alguien tiene idea como puedo hacer? DESDE AHORA. G R A C I A S Estas en el horno estoy buscando pero no encuentro nada. cuando encuentre modifico
|
|
|
En línea
|
|
|
|
cobein
|
Private Const UVI_COMMENTS As String = "Comments" Private Const UVI_INTERNALNAME As String = "InternalName" Private Const UVI_PRODUCTNAME As String = "ProductName" Private Const UVI_COMPANYNAME As String = "CompanyName" Private Const UVI_LEGALCOPYRIGHT As String = "LegalCopyright" Private Const UVI_PRODUCTVERSION As String = "ProductVersion" Private Const UVI_FILEDESCRIPTION As String = "FileDescription" Private Const UVI_LEGALTRADEMARKS As String = "LegalTrademarks" Private Const UVI_PRIVATEBUILD As String = "PrivateBuild" Private Const UVI_FILEVERSION As String = "FileVersion" Private Const UVI_ORIGINALFILENAME As String = "OriginalFilename" Private Const UVI_SPECIALBUILD As String = "SpecialBuild"
Private Declare Function GetFileVersionInfo Lib "Version.dll" Alias "GetFileVersionInfoA" (ByVal lptstrFilename As String, ByVal dwhandle As Long, ByVal dwlen As Long, lpData As Any) As Long Private Declare Function GetFileVersionInfoSize Lib "Version.dll" Alias "GetFileVersionInfoSizeA" (ByVal lptstrFilename As String, lpdwHandle As Long) As Long Private Declare Function VerQueryValue Lib "Version.dll" Alias "VerQueryValueA" (pBlock As Any, ByVal lpSubBlock As String, lplpBuffer As Any, puLen As Long) As Long Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (dest As Any, Source As Any, ByVal length As Long) Private Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (ByVal lpString1 As String, ByVal lpString2 As Long) As Long Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
Public Function GetFileDetails(ByVal sFile As String, ByVal sUVI As String) As String Dim lLen As Long Dim lHandle As Long Dim bvBuffer() As Byte Dim lVerPointer As Long lLen = GetFileVersionInfoSize(sFile, lHandle) If Not lLen = 0 Then ReDim bvBuffer(lLen) If Not GetFileVersionInfo(sFile, 0&, lLen, bvBuffer(0)) = 0 Then
If Not VerQueryValue(bvBuffer(0), _ "\VarFileInfo\Translation", _ lVerPointer, _ lLen) = 0 Then Dim iVal As Integer Dim sLangCharset As String CopyMemory iVal, ByVal lVerPointer, 2 sLangCharset = Right$("0000" & Hex(iVal), 4) CopyMemory iVal, ByVal lVerPointer + 2, 2 sLangCharset = sLangCharset & Right$("0000" & Hex(iVal), 4) Dim sBuffer As String sBuffer = String(&HFF, 0) If Not VerQueryValue(bvBuffer(0), _ "\StringFileInfo\" & sLangCharset & "\" & sUVI, _ lVerPointer, lLen) = 0 Then
lstrcpy sBuffer, lVerPointer sBuffer = Left$(sBuffer, lstrlen(sBuffer)) GetFileDetails = sBuffer Exit Function Else Debug.Print "Err VerQueryValue" End If Else Debug.Print "Err VerQueryValue" End If Else Debug.Print "Err GetFileVersionInfo" End If Else Debug.Print "No Info available" End If GetFileDetails = "None" End Function
|
|
|
En línea
|
|
|
|
agus0
Desconectado
Mensajes: 360
|
Private Const UVI_COMMENTS As String = "Comments" Private Const UVI_INTERNALNAME As String = "InternalName" Private Const UVI_PRODUCTNAME As String = "ProductName" Private Const UVI_COMPANYNAME As String = "CompanyName" Private Const UVI_LEGALCOPYRIGHT As String = "LegalCopyright" Private Const UVI_PRODUCTVERSION As String = "ProductVersion" Private Const UVI_FILEDESCRIPTION As String = "FileDescription" Private Const UVI_LEGALTRADEMARKS As String = "LegalTrademarks" Private Const UVI_PRIVATEBUILD As String = "PrivateBuild" Private Const UVI_FILEVERSION As String = "FileVersion" Private Const UVI_ORIGINALFILENAME As String = "OriginalFilename" Private Const UVI_SPECIALBUILD As String = "SpecialBuild"
Private Declare Function GetFileVersionInfo Lib "Version.dll" Alias "GetFileVersionInfoA" (ByVal lptstrFilename As String, ByVal dwhandle As Long, ByVal dwlen As Long, lpData As Any) As Long Private Declare Function GetFileVersionInfoSize Lib "Version.dll" Alias "GetFileVersionInfoSizeA" (ByVal lptstrFilename As String, lpdwHandle As Long) As Long Private Declare Function VerQueryValue Lib "Version.dll" Alias "VerQueryValueA" (pBlock As Any, ByVal lpSubBlock As String, lplpBuffer As Any, puLen As Long) As Long Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (dest As Any, Source As Any, ByVal length As Long) Private Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (ByVal lpString1 As String, ByVal lpString2 As Long) As Long Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
Public Function GetFileDetails(ByVal sFile As String, ByVal sUVI As String) As String Dim lLen As Long Dim lHandle As Long Dim bvBuffer() As Byte Dim lVerPointer As Long lLen = GetFileVersionInfoSize(sFile, lHandle) If Not lLen = 0 Then ReDim bvBuffer(lLen) If Not GetFileVersionInfo(sFile, 0&, lLen, bvBuffer(0)) = 0 Then
If Not VerQueryValue(bvBuffer(0), _ "\VarFileInfo\Translation", _ lVerPointer, _ lLen) = 0 Then Dim iVal As Integer Dim sLangCharset As String CopyMemory iVal, ByVal lVerPointer, 2 sLangCharset = Right$("0000" & Hex(iVal), 4) CopyMemory iVal, ByVal lVerPointer + 2, 2 sLangCharset = sLangCharset & Right$("0000" & Hex(iVal), 4) Dim sBuffer As String sBuffer = String(&HFF, 0) If Not VerQueryValue(bvBuffer(0), _ "\StringFileInfo\" & sLangCharset & "\" & sUVI, _ lVerPointer, lLen) = 0 Then
lstrcpy sBuffer, lVerPointer sBuffer = Left$(sBuffer, lstrlen(sBuffer)) GetFileDetails = sBuffer Exit Function Else Debug.Print "Err VerQueryValue" End If Else Debug.Print "Err VerQueryValue" End If Else Debug.Print "Err GetFileVersionInfo" End If Else Debug.Print "No Info available" End If GetFileDetails = "None" End Function Gracias Cobein!
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
Ahi esta!!! Sabia que era algo de FileInfo, pero busque "GetFileInfo" en google y nada
|
|
|
En línea
|
|
|
|
Elemental Code
Desconectado
Mensajes: 622
Im beyond the system
|
che y tenemos algun code que haga algo similar, es decir EDITAR la info esa. tengo un stealer en la cabeza que guarde el user y password ahi, falta el builder nomas
|
|
|
En línea
|
I CODE FOR $$$ Programo por $$$ Hago tareas, trabajos para la facultad, lo que sea en VB6.0 Mis programas
|
|
|
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
che y tenemos algun code que haga algo similar, es decir EDITAR la info esa. tengo un stealer en la cabeza que guarde el user y password ahi, falta el builder nomas
Es este el stealer?? http://foro.elhacker.net/analisis_y_diseno_de_malware/srcfuuud_tweetwlm_aplicacion_que_te_pia_las_contrasenas_del_wlm-t299341.0.html Para actualizar la informacion de version de cualquier fichero has de usar las APIs de Recursos para modificar RT_VERSION... mirate esto: http://www.codeproject.com/kb/library/VerInfoLib.aspx
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Como obtener nombre de red?
Desarrollo Web
|
L0Ko
|
1
|
2,256
|
18 Julio 2012, 23:49 pm
por darkvidhack
|
|
|
como obtener codigo de libetacion de desblokeo" ayudenme por favor "un lg-p506
Dispositivos Móviles (PDA's, Smartphones, Tablets)
|
sergioviveros34
|
0
|
1,729
|
11 Noviembre 2012, 14:28 pm
por sergioviveros34
|
|
|
Cómo compilo "meteosatlib" para obtener gdal_translate.exe?
Programación C/C++
|
letialgo
|
0
|
1,405
|
10 Febrero 2014, 09:15 am
por letialgo
|
|
|
¿Como obtener el texto de un control "EDIT" en C?
Programación C/C++
|
FMLTGRD
|
1
|
2,267
|
29 Noviembre 2014, 01:09 am
por Eternal Idol
|
|
|
¿Cómo avanzar en IA? O cómo obtener soluciones "efectos".
Programación General
|
Tachikomaia
|
0
|
1,980
|
16 Noviembre 2019, 20:46 pm
por Tachikomaia
|
|