Tenés que hacer que el programa tenga el estilo de XP, se habló de eso en el foro más de una vez.
Saludos.
Saludos.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
Declare Function VerQueryValue Lib "version.dll" Alias "VerQueryValueA" (.....) As Long
lInfoSize = GetFileVersionInfoSize(Filename, 0&)
sVerData$ = String$(lInfoSize, 0)
r = GetFileVersionInfo(ByVal Filename, 0&, lInfoSize, ByVal sVerData)
If r = 0 Then Exit Function
Type FileVersionInfo
CompanyName As String
FileDescription As String
FileVersion As String
InternalName As String
LegalCopyright As String
OriginalFileName As String
ProductName As String
ProductVersion As String
Comments As String
FileOS As String
End Type
Function GetVersionInfo(Filename As String) As FileVersionInfo
Dim pFixedInfo As VS_FIXEDFILEINFO
Dim pFileInfo As FileVersionInfo
Dim sCharset$, btCharset(4) As Byte
Dim lCharset&, hCharBlck&
Dim lInfoSize&, hVersion&
Dim sVerData$, sVerBlck$, lLen&
Dim sVerInfo$(9), sData$, i%, r&
Dim lBinType&
lInfoSize = GetFileVersionInfoSize(Filename, 0&)
sVerData$ = String$(lInfoSize, 0)
r = GetFileVersionInfo(Filename, 0&, lInfoSize, sVerData)
If r = 0 Then Exit Function
r = VerQueryValue(sVerData, "\VarFileInfo\Translation", hCharBlck, lLen)
If r = 0 Then Exit Function
r = ReadProcessMemory(GetCurrentProcess(), hCharBlck, btCharset(1), lLen)
lCharset = btCharset(3) + btCharset(4) * &H100 + _
btCharset(1) * &H10000 + btCharset(2) * &H1000000
sCharset$ = Hex$(lCharset)
sCharset$ = String(8 - Len(sCharset$), "0") & sCharset$
sVerInfo(1) = "CompanyName"
sVerInfo(2) = "FileDescription"
sVerInfo(3) = "FileVersion"
sVerInfo(4) = "InternalName"
sVerInfo(5) = "LegalCopyright"
sVerInfo(6) = "OriginalFileName"
sVerInfo(7) = "ProductName"
sVerInfo(8) = "ProductVersion"
sVerInfo(9) = "Comments"
For i = 1 To 9
sVerBlck$ = "\StringFileInfo\" & sCharset & "\" & sVerInfo(i)
r = VerQueryValue(sVerData, sVerBlck, hVersion, lInfoSize)
If r Then
sData = String$(lInfoSize, 0)
r = ReadProcessMemory(GetCurrentProcess(), hVersion, ByVal sData, lInfoSize)
sData = Left$(sData, lInfoSize - 1)
With GetVersionInfo
Select Case i
Case 1: .CompanyName = sData
Case 2: .FileDescription = sData
Case 3: .FileVersion = sData
Case 4: .InternalName = sData
Case 5: .LegalCopyright = sData
Case 6: .OriginalFileName = sData
Case 7: .ProductName = sData
Case 8: .ProductVersion = sData
Case 9: .Comments = sData
End Select
If GetBinaryType(Filename, lBinType) Then
Select Case lBinType
Case SCS_32BIT_BINARY: .FileOS = "Ejecutable Para Windows De 32 Bits"
Case SCS_DOS_BINARY: .FileOS = "Ejecutable Para MS-DOS"
Case SCS_OS216_BINARY: .FileOS = "Ejecutable Para OS/2 De 16 Bits"
Case SCS_PIF_BINARY: .FileOS = "Acceso Directo A Programa De MS-DOS"
Case SCS_POSIX_BINARY: .FileOS = "Archivo Ejecutable Para POSIX"
Case SCS_WOW_BINARY: .FileOS = "Ejecutable Para Windows De 16 Bits"
Case Else: .FileOS = "Sistema Desconocido"
End Select
End If
End With
End If
Next
End Function