VB6 .- Problema invocando un modulo para que ejecute en un command1

Iniciado por eze_vin, 28 Enero 2013, 05:37 AM

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

eze_vin

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 (vb) [Seleccionar]
Option Explicit

'Private Const HWND_BROADCAST = &HFFFF&
'Private Const WM_SYSCOMMAND = &H112&
'Private Const SC_MONITORPOWER = &HF170&
'Private Const POWER_ON = -1
'Private Const POWER_LOW = 1
'Private Const POWER_OFF = 2

Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" ( _
ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long

Private Sub Main()
'PostMessage HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, POWER_OFF
PostMessage &HFFFF&, &H112&, &HF170&, 2
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  ;)

Danyfirex

Deberías investigar mas.   :silbar:


lo pones todo en tu formulario.

Código (vb) [Seleccionar]
Option Explicit

Private Const HWND_BROADCAST = &HFFFF&
Private Const WM_SYSCOMMAND = &H112&
Private Const SC_MONITORPOWER = &HF170&
Private Const POWER_ON = -1
Private Const POWER_LOW = 1
Private Const POWER_OFF = 2

Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" ( _
ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long

Private Sub Command1_Click()
PostMessage HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, POWER_OFF
End Sub



eze_vin

Mil gracias Danyfirex !!!!  ;-)

se me hizo la luz !

te agradezco

apuromafo CLS

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