Lo primero que pensaría es Incompatibilidad de DLL, si estás usando una DLL que no es del propio instalador de Visual Basic es posible que Win10 tenga la versión más reciente y el VB sea de una versión anterior.
Hasta donde sé, solo uso las DLL que se instalan con el VB, aunque es posible que el Msvbvm60.dll o algún archivo parecido sea diferente, realmente no lo se
Entré al visor de eventos, y me encontré con los errores mencionados, estos son los códigos y algunos detalles de estos:
El programa VB6.EXE (versión 6.0.81.76) dejó de interactuar con Windows y se cerró. Para ver si hay más información disponible sobre el problema, comprueba el historial de problemas en el panel de control de seguridad y mantenimiento.
Id. de proceso: 17e4
Hora de Inicio: 01d6e13daa8a4c3b
Hora de finalización: 4294967295
Ruta de la aplicación: C:\Program Files (x86)\Microsoft Visual Studio\VB98\VB6.EXE
Id. de informe: 03cf55aa-0981-43c3-808f-e7c425acb432
Nombre completo del paquete con errores:
Id. de la aplicación relativa al paquete con errores:
Tipo de bloqueo: Top level window is idleEste es el error mas reciente, y creo que el que me motivó a hacer esta pregunta acá.
Nombre de la aplicación con errores: VB6.EXE, versión: 6.0.81.76, marca de tiempo: 0x3592011f
Nombre del módulo con errores: ntdll.dll, versión: 10.0.18362.1171, marca de tiempo: 0xe94aeef6
Código de excepción: 0xc0000029
Desplazamiento de errores: 0x000a2907
Identificador del proceso con errores: 0x4090
Buscaré los errores a ver que encuentro.
Uno de los proyectos donde tuve este error, fue el siguiente:
Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Any, ByVal wParam As Any, ByVal lParam As Any) As Long
Private Sub Form_Load()
On Error Resume Next
'KPD-Team 1999
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@Allapi.net
'We're going to call an API-function, without declaring it!
Dim lb As Long, pa As Long
'map 'user32' into the address space of the calling process.
lb = LoadLibrary("user32")
'retrieve the address of 'SetWindowTextA'
pa = GetProcAddress(lb, "SetWindowTextA")
'Call the SetWindowTextA-function
CallWindowProc pa, Me.hWnd, "Hello !", ByVal 0&, ByVal 0&
'unmap the library's address
FreeLibrary lb
End Sub
Me encontré este código en una página web, y quise probarlo, así que lo probé, y sucedió el error mencionado.
Otra cosa es que en ningún momento se muestra algún mensaje de error, simplemente la aplicación deja de responder y se pone en ese estado "X aplicacion (no responde)" y luego se cierra.
Gracias y saludos.