eliminar beep del msgbox

29/11/2006 - 11:26 por tomaste | Informe spam
Apreciados amigos, como podria eliminar el beep al activar un msgbox,
soy un usuario y no tengo acceso al panel de control.

Gracias,

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
30/11/2006 - 07:39 | Informe spam
hola, tomas ?

... como podria eliminar el beep al activar un msgbox, soy un usuario y no tengo acceso al panel de control.



prueba con los 'eventos de teclado' de la API de 'user32'
OJO: solo 'alterna' entre des/re/silenciar el volumen del sistema de sonido...
por lo que se espera que SI este previamente activo/habilitado/sonando/... [p.e.]

Private Declare Sub Volumen Lib "User32" Alias "keybd_event" ( _
ByVal Modo As Byte, ByVal Monitor As Byte, ByVal Estado As Long, ByVal Inf_Extra As Long)
Sub Mensaje_sin_sonido()
Volumen &HAD, 0, 1, 0
MsgBox "Escuchaste algo ???"
Volumen &HAD, 0, 1, 0
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 tomaste
30/11/2006 - 08:05 | Informe spam
Hola Hector Miguel,
Funciona perfectamente, lo único que no entiendo es el codigo,
Volumen &HAD, 0, 1, 0, sabes exactamente que quiere decir, gracias por
todo, lo que no he encontrado en la web me has dado la respuesta tú,

hasta pronto,
Tomas


Héctor Miguel ha escrit:
hola, tomas ?

> ... como podria eliminar el beep al activar un msgbox, soy un usuario y no tengo acceso al panel de control.

prueba con los 'eventos de teclado' de la API de 'user32'
OJO: solo 'alterna' entre des/re/silenciar el volumen del sistema de sonido...
por lo que se espera que SI este previamente activo/habilitado/sonando/... [p.e.]

Private Declare Sub Volumen Lib "User32" Alias "keybd_event" ( _
ByVal Modo As Byte, ByVal Monitor As Byte, ByVal Estado As Long, ByVal Inf_Extra As Long)
Sub Mensaje_sin_sonido()
Volumen &HAD, 0, 1, 0
MsgBox "Escuchaste algo ???"
Volumen &HAD, 0, 1, 0
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#3 Héctor Miguel
30/11/2006 - 09:12 | Informe spam
hola, tomas !

Funciona... lo unico que no entiendo es el codigo, Volumen &HAD, 0, 1, 0
... exactamente que quiere decir [...]



la 'historia' tiene 'sus partes' y la 'secuencia de hechos' es +/- como sigue:

a) 'user32' es [una de tantas] de las librerias [exe, dll, ocx, etc.] a las que puedes llamar a traves de las API's de windows
[API significa Application Programming Interface]
b) todas las librerias contienen 'funciones internas' [tambien llamadas 'puntos de entrada'] utiles en programacion vb/vba
c) el caso concreto de 'keybd_event' hace referencia [y por lo tanto puede detectar/simular] pulsaciones con el teclado/mouse
[el nombre que se me ocurrio fue de 'Volumen' solo por hacer referencia al evento 'en cuestion'... silenciar el volumen] :D
d) el valor &HAD de hexadecimal a decimal equivale a 173, y es referencia al 'control/casilla/... de apagar el volumen del sonido
[p.e.] cuando muestras el panel de controles de sonido/audio [174 y 175 corresponden a elevar/disminuir el volumen]
e) el resto de los parametros del 'punto de entrada', generalmente [o al menos en este caso] no es necesario modificarlos
[recuerda que solo estamos 'switcheando' entre silenciar y regresar el volumen a su nivel 'previo/original/...']

hay mucha mas informacion acerca de las API's [y no soy yo quien pudiera aclararte mas dudas... solo estoy aprendiendo igual que tu] :))
[de todas formas]... si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida