sale tio gracias tu codigo me a ayudado bastante
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ú


Debug.Print KillTimer(0, A) 26196
+1
26196
1
noce en que fallo 
Option Explicit
Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Dim A As Long
Dim B As Boolean
Sub main()
A = SetTimer(0, 0, 30000, AddressOf TimerProc)
Debug.Print A
Do While Not B
DoEvents
Loop
End Sub
Sub TimerProc(ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long)
Debug.Print "+1"
Debug.Print A
Debug.Print KillTimer(A, 0)
B = True
End Sub26430
+1
26430
0 <--------- no lo libera :P (valor devuelto de la llamada a funcion killtimer )
+1
0
0
si lo lei tio por eso me entro la curiosidad ya que al escribirle 0 comprendi que el argumento idevent se ignora
y por eso tenia duda de como si no lo ignorara el parametro lo usara para darle un numero para identificarlo
pero lo ignora
y comprobe y la funcion killtimer me devuelve 0 eso quiere decir que la funcion falla
y no libera el timer
eso funciona con hooks? la verdad por el momento lo quiero para la api Settimer para el primer parametro que me pide
y luego creo que lo usare para aplicarlo a hooks...
para eliminarlo con killtimer?
como puedo obtener el hwnd de un programa de VB sin form? estoy codeando un programa sin form ( modulo como main el principal ) y entonces llege a esa parte que necesito el hwnd
normalmente se hace me.hwnd ( me = form ) pero ahora veo que el modulo no tiene hwnd al menos tiene esa propiedad
como puedo hacer? gracias