Alguien me puede probar este codigo.

Iniciado por LeandroA, 29 Agosto 2010, 01:01 AM

0 Miembros y 1 Visitante están viendo este tema.

LeandroA

hola nesecito a alguien que tenga windows seven y me pueda testear este codigo que sirve para reproducir un archivo avi que forma parte de los recursos de una dll. (mas informacion aqui)


estuve probando este codigo en Window Seven (con la PC virtual) y no me funciona, pero no parece ser culpa del codigo sino que los AVI dentro de las dll parecen tener o un error o algun codec no reconosido. (ya los extrage con el reshacker y no me los reproduce ni el windows media player.)

Código (vb) [Seleccionar]

Option Explicit
Private Declare Sub InitCommonControls Lib "comctl32.dll" ()
Private Declare Function LoadLibraryEx Lib "kernel32" Alias "LoadLibraryExA" (ByVal lpLibFileName As String, ByVal hFile As Long, ByVal dwFlags As Long) As Long
Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
Private Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function DestroyWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Const ANIMATE_CLASS = "SysAnimate32"
Private Const WS_EX_TRANSPARENT = &H20&
Private Const ACS_TRANSPARENT = &H2&
Private Const ACS_AUTOPLAY = &H4&
Private Const WM_USER = &H400&
Private Const ACM_OPEN = WM_USER + 100
Private Const ACM_PLAY = WM_USER + 101
Private Const ACM_STOP = WM_USER + 102
Private Const WS_VISIBLE As Long = &H10000000
Private Const WS_CHILD As Long = &H40000000

Dim hAnimation As Long
Dim hModule As Long

Private Sub Form_Initialize()
    InitCommonControls
End Sub

Private Sub Form_Load()
    hModule = LoadLibraryEx("c:\windows\system32\shell32.dll", 0, &H2)
    hAnimation = CreateWindowEx(WS_EX_TRANSPARENT, ANIMATE_CLASS, "", WS_CHILD Or WS_VISIBLE Or ACS_TRANSPARENT Or ACS_AUTOPLAY, 0, 0, 0, 0, Me.hwnd, 0&, App.hInstance, ByVal 0&)
    Call SendMessage(hAnimation, ACM_OPEN, hModule, ByVal "#150")
    FreeLibrary hModule
End Sub

Private Sub Form_Unload(Cancel As Integer)
    DestroyWindow hAnimation
End Sub


En nombre del recurso esta correcto. en xp funciona a alguien no le funciona en Seven?

raul338

El problema es que esos recursos "estan pero no estan", o sea, figuran como recursos, pero estan vacios (Intenta verlos con el resource hacker y veras el mismo problema)

La cosa es que en windows seven ya no se usan mas esos recursos, se usaran otros, no se, porque cambian los dialogos de archivos.

Deberias probar en windows vista haber si tiene el mismo problema (ya que a partir de ahi cambiaron los dialogos de manipulado de archivos)


Y como era de esperarse con lo que dije, en windows seven no funciona :xD

agus0

Tengo W$ 7 lo ejecute y no pasa nada :(

LeandroA

@raul338 tenes razon no me avia percatado de que en W7 el recurso ocupa 3kb y en xp 20.3kb esto quiere decir que solo lo agregaron para ser compatibles en cierto modo es decir un programa que utilize esos .avi  no los podra reproducir pero al menos no se cerrara con un error.

Muchas gracias por la data.

Saludos.