agregar atajos al programa

Iniciado por Castg!, 18 Noviembre 2009, 00:14 AM

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

Castg!

buenas, aca devuelta con vb,porq estoy copadisimo con php. bueno hace un timepo arregle una pc y a cambio me dieron un dinero y un gabinete con mother y fuente. me la arme muy bien consiguiendo cosas de por ahi. un dia mi tio me ofrecio un monitor crt de 17'' que tenia tirado por ahi. me lo regalo. el drama es que se ve rojisimo y muy oscuro. entonces con la configuracion del propio monitor lo puse mas blanco, y con un programa lo pongo mas brilloso. y cada vez que apago el monitor tengo que volver a configurar lo del rojo. y es un re embole "menu"-"abajo abajo"- enter"- abajo" enter" menu" ya me rompe mucho. asi que quiero hacer una aplicacion en visualbasic que me ponga el monitor en standby. que asi queda genial.



bueno el code lo encotre, pero lo uso con "command click" y quiero que sea con un "atajo " de teclas tipo alt+shift+f, cosas asi. les aviso que el form esta hide o escondido, para no tener la cosa ahi siempre abierta en la barra de herramientas. bueno gracias y un saludo

h0oke


BlackZeroX

#2
puedes crear un menu
y ponerle el atajo y esto seria lo mas facil. otra todo lo programas en el proceso sub main(): end sub y solo ejecutas la aplicacion y que te realice los cambios igual puedes usar el evento form_load, estos dos procesos en lugar del proceso click de un boton X

P.D.: Si el programa es solo para eso usa solo el sub main() o el form_load() ( aun que me inclino maspor sub main():end sub ), en si no nesesitas hotkey's para tal acto.

Dulces Lunas!¡.
The Dark Shadow is my passion.

Castg!

me podrias explicar un poco mejor eso, bueno el sub_main() no habria form, pero uso igualmente el hotkeys? yop quiero eso solo con los atajos nada mas

BlackZeroX

#4
compila esto para darte una idea:

Código (vb) [Seleccionar]


sub main()
   msgbox "Solo se ejecuta este msgbox(9 y se cierra el programa"
end sub



Con atajos seria lo mismo solo dejando dormido al programa.

En si cada vez que quieras configurar de nueva cuenta tu monitor solo ejecutas el programa y se configuraría y a su vez se cierra.

Edito------------------:

Para que se configure automaticamente al iniciar secion solo copearias el exe a la carpeta inicio o creas una clave en el registro para correr al inicio de secion ( en este foro hay informacion sobre esto y aparentemente tienen chincheta )

Dulces Lunas!¡.
The Dark Shadow is my passion.

BlackZeroX

con hotkey's seria asi:

Ejemplo sacado de la API-Guide ( http://allapi.mentalis.org/apilist/RegisterHotKey.shtml )


Código (vb) [Seleccionar]


Private Const MOD_ALT = &H1
Private Const MOD_CONTROL = &H2
Private Const MOD_SHIFT = &H4
Private Const PM_REMOVE = &H1
Private Const WM_HOTKEY = &H312
Private Type POINTAPI
    x As Long
    y As Long
End Type
Private Type Msg
    hWnd As Long
    Message As Long
    wParam As Long
    lParam As Long
    time As Long
    pt As POINTAPI
End Type
Private Declare Function RegisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal id As Long, ByVal fsModifiers As Long, ByVal vk As Long) As Long
Private Declare Function UnregisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal id As Long) As Long
Private Declare Function PeekMessage Lib "user32" Alias "PeekMessageA" (lpMsg As Msg, ByVal hWnd As Long, ByVal wMsgFilterMin As Long, ByVal wMsgFilterMax As Long, ByVal wRemoveMsg As Long) As Long
Private Declare Function WaitMessage Lib "user32" () As Long
Private bCancel As Boolean
Private Sub ProcessMessages()
    Dim Message As Msg
    'loop until bCancel is set to True
    Do While Not bCancel
        'wait for a message
        WaitMessage
        'check if it's a HOTKEY-message
        If PeekMessage(Message, Me.hWnd, WM_HOTKEY, WM_HOTKEY, PM_REMOVE) Then
            'minimize the form
            WindowState = vbMinimized
        End If
        'let the operating system process other events
        DoEvents
    Loop
End Sub
Private Sub Form_Load()
    'KPD-Team 2000
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    Dim ret As Long
    bCancel = False
    'register the Ctrl-F hotkey
    ret = RegisterHotKey(Me.hWnd, &HBFFF&, MOD_CONTROL, vbKeyF)
    'show some information
    Me.AutoRedraw = True
    Me.Print "Press CTRL-F to minimize this form"
    'show the form and
    Show
    'process the Hotkey messages
    ProcessMessages
End Sub
Private Sub Form_Unload(Cancel As Integer)
    bCancel = True
    'unregister hotkey
    Call UnregisterHotKey(Me.hWnd, &HBFFF&)
End Sub



Dulces lunas
The Dark Shadow is my passion.