在 Vb 6 中禁用哔声

Posted

技术标签:

【中文标题】在 Vb 6 中禁用哔声【英文标题】:Disable Beep Sound in Vb 6 【发布时间】:2010-03-05 17:59:43 【问题描述】:

当我在 VB 6.0 的 TextBox 中按 Ctrl+其他键时,系统会发出哔哔声。 如何在 VB 6.0 中禁用此功能?

【问题讨论】:

哔声是有意的,警告用户击键无效。为什么要禁用部分 Windows UI? 【参考方案1】:

VB 5.0/6.0 '将此代码复制并粘贴到您的 Textbox_KeyPress() 事件中。

If KeyAscii = 13 Then  

    KeyAscii = 0   

End If

Source

【讨论】:

【参考方案2】:

您需要捕获 KeyPress 事件并将 KeyAscii 代码更改为 0(您可以有条件地执行此操作,以仅禁用某些“哔哔声”)。 很像 F.Aquino 的代码,只是 KeyAscii = 13 用于禁用由 Enter 键触发的哔声。更改条件以匹配您的情况。

【讨论】:

【参考方案3】:
    Private Sub Command1_Click()
    'Beep off
    Dim res
    res = Shell("reg add " + Chr(34) + "HKEY_CURRENT_USER\Control Panel\Sound" + Chr(34) + " /t REG_SZ /v Beep /d no /f", vbHide)
    End Sub

    Private Sub Command2_Click()
    'Beep on
    Dim res
    res = Shell("reg add " + Chr(34) + "HKEY_CURRENT_USER\Control Panel\Sound" + Chr(34) + " /t REG_SZ /v Beep /d yes /f", vbHide)
    End Sub

代码生效仍需重启资源管理器/系统。

【讨论】:

以上是关于在 Vb 6 中禁用哔声的主要内容,如果未能解决你的问题,请参考以下文章

在 JFormattedTextField 中禁用哔声

Emacs:尝试超出文档末尾时禁用哔声

Java:如何禁用 JSpinner 哔声

无法在文本框 keydown 事件上禁用哔声

如何在 Windows 上禁用 emacs 中的哔声

如何在尝试输入超过允许的字符时禁用 TextBox 的哔声