2017-03-03 46 views
1

我有一個工作面板,它運行32位版本的Windows Embedded 8 Standard。需要使用內部揚聲器發出嘟嘟聲。連接外部揚聲器不是一種選擇。內置揚聲器在Windows 8嵌入式標準中發出嗶聲

此前這是運行基於Windows XP的Windows Embedded Standard,並且在C#中使用Console.Beep將使用內部揚聲器。但是,在Windows 8 Embedded Standard中,儘管沒有連接,但似乎仍然使用外置揚聲器。

內部揚聲器仍在運行 - 觸摸屏驅動程序(eGalaxTouch)在點擊屏幕時仍然使用內部揚聲器,但是我無法在自己的應用程序中複製此內容。

我試過以下從C#應用程序沒有影響;

Console.Beep() 
MessageBeep() (user32.dll) 
Beep() (kernel32.dll) 
SystemSounds.Beep.Play() 

我明白這是不可能的從Windows 7 64位以後,但我在這裏使用32位操作系統,它仍然與觸摸屏的工作原理?雖然在C#/ .NET中的解決方案將是理想的,但我會爲其他解決方案(C/C++ /任何)提供解決方案。

+0

這聽起來像其打倒在Windows安裝程序不是C#代碼 – BugFinder

+0

在註冊表中的HKCU \控制面板\聲音\蜂鳴的條目,可據稱通過設置來禁用嗶「不」,但這已經設置爲'是'。 – MJF

回答

0

通常張貼的問題後不久,我找到答案......

基本上,代替Windows 8的嵌入式版本使用「Beep.sys」文件從Windows(XP)嵌入式標準允許控制檯。請按照預期工作。

harrymc對類似問題的回答https://superuser.com/a/230167/83606下面。請注意,Windows 8(嵌入式)中的設備管理器中沒有「嗶聲」設備,但此過程與此類似。

Default Beep PC Speaker changed in windows 7 – How to get back to old style

默認的提示音由 駕駛員控制下, c:\windows\system32\drivers\beep.sys。 也許如果你用XP/Vista中的 驅動程序將它切換出來,它會增加 的音量。

要查看此驅動程序,您必須打開 設備管理器,然後單擊查看> 顯示隱藏的設備。然後在 非即插即用驅動程序中,您會看到 「嗶嗶」。這是運行 嗶聲的驅動程序。右鍵單擊它,然後 選擇屬性,然後轉到司機 選項卡,然後單擊驅動程序詳細信息... 這顯示了文件版本, 看起來像它已經改變與 的Windows 7.因此與 舊的版本來替換它,看看怎麼了。

程序遵循:從UBCD4WIN盤

  1. 引導(或的BartPE,如果你沒有一個SATA硬盤驅動器 )的「C的
  2. 取得所有權:\ WINDOWS \ System32 \ drivers下\ Beep.sys「 文件並授予本地 」管理員「組」完全控制「 權限。
  3. 將「Beep.sys」重命名爲「嘟嘟」。舊「(以防萬一)
  4. 將」Beep.sys「從XP機器複製到此位置。