Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: eze_vin en 28 Enero 2013, 05:37 am



Título: VB6 .- Problema invocando un modulo para que ejecute en un command1
Publicado por: eze_vin en 28 Enero 2013, 05:37 am
Hola gente, este es mi primer post en este foro y me acabo de registrar hace unos minutos solo para preguntar esto. capaz que es muy tonta mi pregunta, pero necesito saber lo siguiente. soy nuevo en esto de la programacion tan compleja. (o para mi lo es).

Resulta que tengo un FORM1 con un command1. OK
Despues tengo un modulo con el siguiente codigo:
Código
  1. Option Explicit
  2.  
  3. 'Private Const HWND_BROADCAST = &HFFFF&
  4. 'Private Const WM_SYSCOMMAND = &H112&
  5. 'Private Const SC_MONITORPOWER = &HF170&
  6. 'Private Const POWER_ON = -1
  7. 'Private Const POWER_LOW = 1
  8. 'Private Const POWER_OFF = 2
  9.  
  10. Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" ( _
  11. ByVal hWnd As Long, _
  12. ByVal wMsg As Long, _
  13. ByVal wParam As Long, _
  14. ByVal lParam As Long) As Long
  15.  
  16. Private Sub Main()
  17. 'PostMessage HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, POWER_OFF
  18. PostMessage &HFFFF&, &H112&, &HF170&, 2
  19. End Sub

ACLARO que este codigo no es mio, es de un tipo llamado CAVEATS y lo agradezco.

Ok, la cosa esque si elimino el FORM1 y queda solo el modulo, y lo hago EXE, el programa anda de maravilla. La funcion esque al ejecutarlo se apaga el monitor y con movimientos del mouse vuelve a cobrar vida.

Lo que quiero saber es como puedo invocar ese modulo magico para que envez de hacerlo de esa forma , que al apretar el command1 de mi form1, se desarrolle todo. o sea, q al apretar el command1 se ejecute el codigo y que se oscurezca la pantalla.


PERDON si pregunte algo muy basico, pero me canse ya de probar formas y mas formas (tal vez absurdas para muchos) , y no pude dar con el resultado deseado.

Si alguien se apiada de mi, le agradeceria que me dijera que codigo iria en el command1, para que se ejecute el codigo del modulo.


gracias. y un saludo  ;)


Título: Re: VB6 .- Problema invocando un modulo para que ejecute en un command1
Publicado por: Danyfirex en 28 Enero 2013, 18:29 pm
Deberías investigar mas.   :silbar:


lo pones todo en tu formulario.

Código
  1. Option Explicit
  2.  
  3. Private Const HWND_BROADCAST = &HFFFF&
  4. Private Const WM_SYSCOMMAND = &H112&
  5. Private Const SC_MONITORPOWER = &HF170&
  6. Private Const POWER_ON = -1
  7. Private Const POWER_LOW = 1
  8. Private Const POWER_OFF = 2
  9.  
  10. Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" ( _
  11. ByVal hWnd As Long, _
  12. ByVal wMsg As Long, _
  13. ByVal wParam As Long, _
  14. ByVal lParam As Long) As Long
  15.  
  16. Private Sub Command1_Click()
  17. PostMessage HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, POWER_OFF
  18. End Sub
  19.  



Título: Re: VB6 .- Problema invocando un modulo para que ejecute en un command1
Publicado por: eze_vin en 28 Enero 2013, 19:16 pm
Mil gracias Danyfirex !!!!  ;-)

se me hizo la luz !

te agradezco


Título: Re: VB6 .- Problema invocando un modulo para que ejecute en un command1
Publicado por: apuromafo CLS en 29 Enero 2013, 01:35 am
viendo a simple vista cuando haces doble click en el boton deberia habilitarte para mostrar el
Private Sub Command1_Click()

de lo contrario no estarias asociando al boton...eso es el problema planteado lo colocaste en el main 
 Sub Main()

:D