2009-09-28 8 views
6

ユーザ(数フィート離れているかもしれない)が聞こえるように、妥当性検査が失敗したときにビープ音が鳴る必要があります。 Console.Beep()を使用したいと思いますが、これはunavailable in a x64 environment (see the remarks)です。コンピュータにスピーカーがある場合とない場合がありますので、System.Media.SystemSounds.Beep.Play()は使用できません。.Net WinFormシステムのビープ音(64ビットOS)

現在のターゲットプラットフォームはx86環境ですが、アプリケーションをx64でも実行できるようにしたいと考えています。

これを行う方法はありますか、それとも私はあきらめるべきですか?

:メソッドへのリンクを追加しました。

+0

はなぜConsole.Beepは()x64の上では動作しません、教えていただけます環境ですか? –

答えて

7

Beep has been removedすべてのx64プラットフォームのネイティブ関数(したがって、管理バージョンはありません)、there is a connectはそれを返す申請書を発行します。

我々はサーバーを検出するためにさまざまなトリックを使用して、我々は、リモート1が:)

を探していたされたDVDドライブ、およびオープントレイとドライブをイジェクト

[EDIT]
ラリー・オスターマンが持っていますこれについての素晴らしい記事:What's up with the beep driver in Windows 7

+0

x64プラットフォームでビープ音を強制する方法はありませんか? – Stevoni

+1

のように見えますが、そこにサードパーティのビープ音のドライバがあるかもしれませんが、見つけられませんでした。 –

0

標準のウィンドウサウンドの1つを再生する方がよいでしょう。次の記事では(それが唯一の数行を取る)方法を示しています。

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

あなたがテーマの中に滞在したい場合、あなたは現在のサウンドスキームのために、Windowsのレジストリをチェックし、合わせて適切なサウンドを再生することができあなたの必要性。

+0

私のマシンのように、使用するマシンがスピーカーを持っているのかミュートしていないのかわかりません。 – Stevoni

+0

ユーザーの観点から、迷惑なアプリケーションサウンドをミュートするオプションがない場合、私はかなり不満を感じるでしょう。私はこのオプションをユーザーにとって大きなボーナスと呼ぶだろう。そのユーザーが聞くものとユーザーの画面上でポップアップするものを試して制御するのは悪い考えです。マイクロソフトでは、こうした機能を細かく調整して、ユーザーにそのような迷惑なことを最大限に制御することに努めてきました。 – jrista

+1

これはユーザーからの要求です。彼らは、前のバージョンでエラーがあったときに彼らが聞くことができないと訴えていました。これで私はアップデートの任務を果たしました。私はそれらの問題に対応する必要があります。 – Stevoni

0

あなたがここで説明Console.Beep()方法を使用することができます:あなたが管理者として実行可能ファイルを実行していることを確認してくださいhttps://msdn.microsoft.com/en-us/library/8hftfeyw(v=vs.110).aspx

を(特権をエスカレート)

+0

私はOPを引用しましょう:* "Console.Beep()を使用したいと思いますが、これはx64環境で__unavailable__です(注釈を参照)" *。次回はまず質問をお読みください。 – Axalo

+0

http://i.imgur.com/Sse3LxD.png これはx64対応ですか?最初に質問を読まなかったと仮定する前に、私の提案した方法を試してみてはいかがですか?私はVistaまたはXPを実行していませんが、.Beep()はx64 OS上で実行しています。 – FatherlyNick

関連する問題