Volume VBA

Liên hệ QC

khongtu19bk

Thành viên hoạt động
Tham gia
5/12/09
Bài viết
147
Được thích
69
Máy tính đang để loa ở chế độ Mute
Làm thế nào để Macro có thể chuyển chế độ mute này sang chế độ bình thường (loa mở)
525660e71008907c564af91c15482119_38540243.1.jpg


Ai biết làm ơn xin mách dùm
 
Máy tính đang để loa ở chế độ Mute
Làm thế nào để Macro có thể chuyển chế độ mute này sang chế độ bình thường (loa mở)
525660e71008907c564af91c15482119_38540243.1.jpg


Ai biết làm ơn xin mách dùm
Tôi nghĩ chắc bạn cũng đã search google để tìm giải pháp rồi, đúng không?
Tin chắc không có code nào đơn giản hơn code dưới đây:
PHP:
Const VK_VOLUME_MUTE = &HAD
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
PHP:
Sub MuteToggle()
  keybd_event VK_VOLUME_MUTE, 0, 1, 0
End Sub
Chạy sub MuteToggle sẽ đổi qua lại trạng thái tắt, mở âm thanh
 
Upvote 0
Cảm ơn bác, code của bác sửa như thế này thì ok.
Mã:
[COLOR=#000000][COLOR=#007700][/COLOR][COLOR=#0000BB]keybd_event VK_VOLUME_MUTE[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]0
(thay giá trị 0 là 1)

Nhưng em không biết là làm thế nào để biết trạng thái loa đang tắt, thì cho chạy code này để mở loa.
Vì code trên, nếu loa đang mở thì nó sẽ cho tắt luôn, hjc
[/COLOR][/COLOR]
 
Upvote 0
Cảm ơn bác, code của bác sửa như thế này thì ok.
Mã:
[COLOR=#000000][COLOR=#0000BB]keybd_event VK_VOLUME_MUTE[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]0
[/COLOR][/COLOR]

(thay giá trị 0 là 1)

Không biết bạn đang dùng hệ điều hành nào? Vì code ở trên được test trên Windows XP, nếu dùng Windows 7 thì không chắc sẽ chính xác
Ngoài ra, tôi có cách khác còn ngắn gọn hơn:
PHP:
Sub MuteToggle()
  CreateObject("WScript.Shell").SendKeys (Chr(&HAD))
End Sub

Nhưng em không biết là làm thế nào để biết trạng thái loa đang tắt, thì cho chạy code này để mở loa.
Vì code trên, nếu loa đang mở thì nó sẽ cho tắt luôn, hjc
Nếu thế thì e rằng phải tốn nhiều code! Vấn đề bây giờ là phải xác định được tình trạng của MUTE
Tôi sưu tầm được hàm GetMasterMuteState (dùng API) ---> Hàm này cho kết quả bằng TRUE khi Volume bị tắt và ngược lại
Vây kết hợp với code trên, ta có:
PHP:
Sub VolumeOn()
  If GetMasterMuteState Then CreateObject("WScript.Shell").SendKeys (Chr(&HAD))
End Sub
Xem chi tiết trong file vì hàm GetMasterMuteState khá dài
(nói thật, tôi cũng thấy "khủng" vì cái chuyện "ăn chơi tốn kém" này)
 

File đính kèm

  • GetMasterMuteState.xls
    34.5 KB · Đọc: 14
Upvote 0
Cảm ơn bác đã quan tâm, em dùng hệ điều hành XP, lạ nhỉ.

Àh, cái file của bác, em down về thấy cell ghi giá trị True, false nhưng loa thì không thấy động tĩnh gì (ngoài ra nó báo là NUM LOCK, chả hiểu liên quan gì tới Num lock, hjc hjc)
 
Upvote 0
Cảm ơn bác đã quan tâm, em dùng hệ điều hành XP, lạ nhỉ.

Àh, cái file của bác, em down về thấy cell ghi giá trị True, false nhưng loa thì không thấy động tĩnh gì (ngoài ra nó báo là NUM LOCK, chả hiểu liên quan gì tới Num lock, hjc hjc)
Giá trị TRUE, FALSE ấy muốn cập nhật chính xác bạn phải bâm F9 nhé
Ngoài ra, code trên chỉ tắt và mở loa... Việc không nghe âm thanh còn có nhiều nguyên nhân khác, có thể volume đang ở mức 0 thì sao? Kiểm tra lại xem
 
Upvote 0
Chào bạn NDU : bạn cho luôn đoạn code TĂNG , GIẢM volume
Cảm ơn
 
Upvote 0
Chào bạn NDU : bạn cho luôn đoạn code TĂNG , GIẢM volume
Cảm ơn
Code giảm Volume
PHP:
Sub VolumeDown()
  CreateObject("WScript.Shell").SendKeys (Chr(&HAE))
End Sub
Code tăng Volume
PHP:
Sub VolumeUp()
  CreateObject("WScript.Shell").SendKeys (Chr(&HAF))
End Sub
 
Upvote 0
Giá trị TRUE, FALSE ấy muốn cập nhật chính xác bạn phải bâm F9 nhé
Ngoài ra, code trên chỉ tắt và mở loa... Việc không nghe âm thanh còn có nhiều nguyên nhân khác, có thể volume đang ở mức 0 thì sao? Kiểm tra lại xem
Không biết bác có nhầm lẫn không, em để loa mute, click vào cái nút Volume On, loa vẫn là mute mà bác
__________________________

A, gio em mo hieu y tuong cua bac, day chi la file do trang thai loa tat hay mo, phai ket hop voi code tren nua, thanks bac nhieu nhe :D
 
Upvote 0
Web KT
Back
Top Bottom