2009-09-28 169 views
6

我的應用程序需要驗證失敗時,使用戶(誰可能是幾英尺遠)可以聽到它發出蜂鳴聲。我想使用Console.Beep(),但這是unavailable in a x64 environment (see the remarks)。計算機中/上可能有或沒有揚聲器,所以我不能使用System.Media.SystemSounds.Beep.Play()淨WinForm的系統提示音在64位操作系統

目前的目標平臺是x86的環境,但我想有應用程序在64位也運行的能力。

有沒有辦法做到這一點,或者我應該乾脆放棄?

編輯:添加鏈接的方法。

+0

能告訴,爲什麼Console.Beep()將不會在x64工作環境? – 2009-09-28 18:23:21

回答

7

Beep has been removed作爲本機功能從所有的x64平臺(所以沒有託管版本當然),there is a connect問題,請求返回它。

我們使用不同的技巧來發現服務器,我們的遠程彈出DVD驅動器,與托盤開放的驅動器是一個正在尋找:)

[編輯]
拉里·奧斯特曼有關於此的偉大的文章:What's up with the beep driver in Windows 7

+0

因此,在x64平臺上無法強制發出嗶聲? – Stevoni 2009-09-28 18:44:11

+1

看起來像,可能有第三方蜂鳴器,但我找不到。 – 2009-09-28 19:10:20

0

播放其中一個標準窗口的聲音可能是一個更好的方法。下面的文章顯示瞭如何(只需要幾行代碼):

http://msdn.microsoft.com/en-us/library/4y171b18(VS.100).aspx

如果你想留主題中,你可以檢查當前聲音方案在Windows註冊表,並播放相應的聲音,以適應你的需要。

+0

我不知道將使用的機器是否有揚聲器或不會被靜音(如我的機器),否則這將是一個不錯的選擇。 – Stevoni 2009-09-28 18:35:01

+0

從用戶的角度來看,如果我沒有屏蔽煩人的應用程序聲音的選項,我會非常沮喪。我會打電話給用戶一個巨大的獎金。嘗試控制用戶聽到的內容以及用戶屏幕上彈出的內容是一個糟糕的主意。微軟花費了好幾年時間精細調整這些功能,讓用戶能夠最大限度地控制類似這樣的煩人事情。 – jrista 2009-09-29 00:52:18

+1

這是來自用戶的請求。他們抱怨說,在以前的版本中出現錯誤時他們聽不到。現在我已經負責更新,我需要解決這些問題。 – Stevoni 2009-09-30 11:50:20

0

您可以使用下面介紹的方法Console.Beep()https://msdn.microsoft.com/en-us/library/8hftfeyw(v=vs.110).aspx

請確保您運行的可執行文件作爲管理員(提升的權限)

+0

我引述OP:*「我想用Console.Beep(),但它在64位環境(見備註)__unavailable__」 *。下一次首先閱讀問題。 – Axalo 2015-04-25 13:08:43

+0

http://i.imgur.com/Sse3LxD.png 這是否有資格作爲x64操作系統?在假設我沒有先閱讀問題之前,先試試我建議的方法。當然,我沒有運行Vista或XP,但.Beep()運行在x64操作系統上。 – FatherlyNick 2015-05-01 21:19:20

相關問題