題 如何從Windows 7命令提示符發出PC揚聲器?


我正在運行一些冗長的視頻編碼 手剎命令行界面。完成所有編碼後,我想擁有 電腦音箱 發出嗶嗶聲,因為我通常會關閉大型外接揚聲器。

在Linux上我會安裝““包,但到目前為止我還沒有找到適合Windows 7的程序。

可能相關的鏈接:

編輯: 這個問題似乎已經演變成了問題 “如何讓Windows 7發出嗶嗶聲?”,HarryMC提供的答案是最合適的。


48
2018-01-01 15:14


起源


Ctrl + G> enter在命令提示符下獲取系統蜂鳴聲。 Ctrl + G的倍數會發出多次嗶聲。 - Moab
@Dennis Williamson:是的,但我在這種情況下使用的是Windows 7。就Linux而言,我大多數都意識到了我的選擇。 - oKtosiTe
@Moab:這不會使PC揚聲器發出蜂鳴聲,而是默認的聲音輸出設備。 - oKtosiTe
如果沒有連接其他揚聲器,某些系統默認使用PC揚聲器。 - Moab
@oKtosiTe有趣。在我的帶有PC揚聲器和64位7的計算機上,當在CMD中使用^ G時,我聽到它發出嗶嗶聲。 - AndrejaKo


答案:


了解Windows 7是64位還是32位會有所幫助。

在Windows 7中更改默認蜂鳴PC揚聲器 - 如何恢復舊樣式 :

默認蜂鳴聲由a控制   司機下,    c:\windows\system32\drivers\beep.sys。   也許如果你把它改成了   來自XP / Vista的驅動程序會增加   音量。

要查看此驅動程序,您必須打開   設備管理器然後單擊視圖>   顯示隱藏的設備。然後在   您將看到的非即插即用驅動程序   “嗶嗶。”這是運行的驅動程序   你的嘟嘟聲然後右鍵單擊它   選擇屬性並轉到驅動程序   選項卡,然後單擊驅動程序詳細信息   這顯示了文件版本   看起來它已經改變了   Windows 7.所以用一個替換它   舊版本,看看會發生什麼。

程序如下:

  1. 從UBCD4WIN光盤(或BartPE,如果您沒有SATA硬盤)啟動   駕駛)
  2. 取得“C:\ Windows \ System32 \ Drivers \ Beep.sys”的所有權   文件並給當地   “管理員”組“完全控制”   權限。
  3. 將“Beep.sys”重命名為“Beep.old”(以防萬一)
  4. 將“Beep.sys”從XP計算機複製到此位置。

13
2018-01-07 08:38



我正在研發的Windows 7是32位。將嘗試交換 beep.sys 與Windows XP中的一個。 - oKtosiTe
幸運的是我用XP和Arch Linux雙啟動,所以我想我可以跳過Live CD位。 :-) - oKtosiTe
這似乎成功了!謝謝。 - oKtosiTe
當我在64位Windows 7上嘗試此操作時,它導致“Beep”設備無法正常工作。有人試過這個64位嗎? - Jason
@Jason:驅動程序簽名可能存在問題,導致未簽名的XP驅動程序無法在Windows 7 64位上運行。因此,此解決方案不適用於Windows 7或更高版本的64位版本。 - harrymc


在Windows 7中,重寫了Beep以將蜂鳴聲傳遞給會話的默認聲音設備。這通常是聲卡,除非在終端服務下運行,在這種情況下,蜂鳴聲在客戶端上呈現。

資源)(一篇關於原因的文章對於那些無法閱讀的人:這是為了降低製造成本 

但是,如果您滿足於從揚聲器中發出嗶嗶聲,則可以使用簡單的批處理文件。

您可以通過執行以下操作編寫一個發出蜂鳴聲的DOS批處理文件:在DOS提示符下鍵入:
echo @echo (Alt-7)>beep.bat

但不是鍵入字符:“(Alt-7)”,按住Alt鍵並按數字鍵盤上的7。不要在鍵盤的qwerty部分使用7,它必須在鍵盤上,並且Num Lock必須打開。

資源


24
2018-01-01 15:31



可悲的是,我不滿足於從揚聲器中發出嗶嗶聲。 - oKtosiTe
@oKtosiTe - 那你可能運氣不好 - Nifle
Alt-7的小鍵盤有什麼替代方案嗎?我只有一台筆記本電腦,沒有小工具。 - CajunLuke
@CajunLuke,是的,根本不要使用Alt-key組合 ASCII控制代碼 (1-31),按下 Ctrl+G;這是BEL的Ctrl鍵組合。 - Synetech
在我的Win7盒子上,我需要使用ALT-007,而不是ALT-7。 - Cameron


如果你有python 2.x安裝這個行在bat文件中工作

python -c "print '\7'"

7
2018-01-28 12:23



當我在win32上嘗試使用Python 3.3.2(v3.3.2:d047928ae3f6,2013年5月16日,00:06:53)[MSC v.1600 64位(AMD64)]時,我得到“SyntaxError:invalid syntax” - Adriaan Koster
以來 print 是python 3.x中的一個函數, python -c "print('\7')" 應該管用。 - Max Truxa
在Windows 10上執行此操作會使我的揚聲器播放Windows錯誤聲音。嗶嗶聲不是來自主板。 :( - DavidB
Perl的替代方案: perl -e "print qq(\x07)"。如果你有草莓便攜,你可以使用 portableshell.bat -e "print qq(\x07)" - Benoit


這個小的VDD驅動程序修復了Windows 7 NTVDM的問題,其中PC揚聲器輸出未正確包裝。

這可能是因為BEEP.SYS系統驅動程序的功能已移至Usermode Sound Agent。有關詳細信息,請參閱Larry Osterman的博客。

此驅動程序嘗試通過掛鉤負責Beep(LazyBeep)的NTVDM函數來解決問題,並將其替換為我們自己的實現,該實現具有解決問題的各種選項。

http://www.waldbauer.com/tmp/dl.php?download=beepx


4
2017-07-20 15:26



目標頁面上的下載鏈接中有病毒! - ellockie
一些病毒掃描在下載時給出了肯定,但由於程序的性質,這些可能是誤報。包含源代碼,因此如果他們不確定,每個人都可以自由查看。 - slhck
並為 x64版本,嘗試: waldbauer.com/tmp/dl.php?download=beepxp64 - rustyx
RustyX非常感謝你!這是唯一終於奏效的東西!美麗!我的UPS警報再次起作用!所有讚美beepxp64。 - Zdenek


嘗試 start'一個不存在的假文件。這會產生彈出聲和嗶聲,但我不確定你是否想要彈出窗口......

enter image description here


3
2018-05-08 23:35



編輯答案澄清;添加了一個圖像來展示它是如何工作的。 - bwDraco
不幸的是,如果有實際的聲音設備,這將不會從PC揚聲器發出蜂鳴聲。有必要在Windows中禁用聲音設備。 - bwDraco


“canopee”的答案就是答案! 他鏈接到的那個驅動程序是唯一一個為Windows 7 64位發出beep()的驅動程序。 我試過了,可以確認它的工作就像一個魅力。

或者你可以考慮下載“buzzer.exe“來自 http://encode.ru/threads/383-A-command-line-tool-for-Windows-which-beeps-through-the-System-Speaker 同樣,這有助於更多地使用命令行的pc揚聲器。它支持自定義頻率和重複。

我沒有以任何方式連接到waldbauer.com或encode.ru,我只是在尋找失踪的嗶嗶聲的解決方案,找到它,並希望幫助“傳播這個詞”!o)


1
2017-10-25 03:34





如果您關閉外部揚聲器,則不要將它們用於其他任何事情。因此,您也可以將它們與計算機斷開連接,以便蜂鳴器命令通過PC揚聲器。無需額外的軟件或驅動程序移植。您只需要記住之後重新連接它們。


0
2018-01-22 08:47



斷開揚聲器連接不會使聲音通過PC揚聲器。 Windows 7甚至不再通常用於PC揚聲器,正如其他一些答案和評論中所指出的那樣。此外,我會定期使用它們,而不是100%的時間。 - oKtosiTe
不再那麼重要了。有問題的PC已經死了,我現在每天都使用超極本,沒有專用的PC揚聲器。相反,我現在使用一套桌面揚聲器(3.5毫米)用於通知和大多數遊戲以及用於音樂和電影的大型壁掛式揚聲器(HDMI)。 - oKtosiTe


的NirCmd 並運行 nircmd stdbeep


-1
2018-01-01 15:49



我擔心這會使默認揚聲器發出蜂鳴聲,而不是PC揚聲器。 - oKtosiTe
你確定嗎? 啟用? - digitxp
@digitxp:BIOS嗶嗶聲和從Linux控制台發出嗶嗶聲的能力讓我相信它,但你提出了一個有效的觀點。我會調查。 - oKtosiTe
據我所知,它以各種可能的方式啟用。 - oKtosiTe
我同意oKtosiTe; nircmd通過聲卡播放嗶聲,而不是內置揚聲器;甚至在XP中。從 NIRCMD.CHM: 播放Windows的標準蜂鳴聲。 - Synetech