none
アプリ内でのシステム音(警告音)などを鳴らさない方法 RRS feed

  • 質問

  • 皆様、いつもお世話になっております。

    当方は、Visual Studio Community 2019において、C言語にて、個人でウィンドウズアプリケーションを開発している者です。

    実は、あることに困ってしまいました

    それは、プログラムの実行中において、例外的な操作をした場合、システム上の警告音が鳴ってしまうことです。

    細かいことを申し上げると、モーダルダイアログ上で、ダイアログ以外のエリアをクリックすると、システムより、警告音が鳴ることです。

    この音を消したいのですが、プログラム上で、初期処理なりで、システムオンをオフにすると言ったことは出来ないのでしょうか。

    当方は、NET、書籍をあさったのですが、良い方法がありません。

    皆様、なにとぞ、アドバイスなりの解決策をご教授願えられればと願う次第です。

    それでは、なにとぞ、宜しくお願いいたします。

    ちなみに開発はC言語で行っておりますので、ご理解を得られればと思っております。

    2020年1月3日 18:32

すべての返信

  • どのような処理を行い警告音が鳴ったのか、具体的なコード・再現手順が提示されていないためわかりませんが、一般論として…

    警告音はシステム設定です。これは利用者が鳴らす・鳴らさないを制御するものです。

    利用者が警告音を鳴らしたいと思って設定しているものを、利用者の意に反して開発者が一方的に上書きすべきではありません。

    2020年1月3日 21:16
  • モーダルダイアログ表示中、その時点では操作できない、親のウィンドウなどをクリックした際に警告音が再生される」ということであれば、「Windows の仕様(一般的な動作)」なので、変えることはできません。
    (ユーザーが意図的に警告音に対して「サウンドなし」としている場合を除く)

    これは、「今は触れないことをユーザーに音で知らせる」ことを意図しています。
    音が鳴らないと、操作に対するフィードバック(反応というべきか?)がないので、ユーザーが気づきづらいと考えられます。

    そういった「Windows アプリケーションとしての普通」は守るべきです。
    それを逸脱したアプリケーションは、ユーザーにとっても混乱を招きます。
    ただ、「Windows アプリケーションとしての普通」を守らなくても良い、特殊な環境(組み込み機器など)であれば、システム設定をあらかじめ変えておくなどはありかもしれません。

    2020年1月3日 22:14
    モデレータ
  • 皆様、お手数を取らせてしまい、申し訳ありません。

    大変参考になりました。

    基本的な部分を無視したコーディングを行おうとしていたことが理解できました。

    愚直な質問に、丁寧な回答をいただき、ありがとうございます。

    これを参考にさせて戴きまして、これからの開発にいそしむ次第でございます。

    誠に、ありがとう、ございました。

    2020年1月6日 21:37
  • ぷにすけ2さん、こんにちは。フォーラムオペレーターのHarukaです。
    MSDNフォーラムにご投稿くださいましてありがとうございます。

    皆様から寄せられた投稿はお役に立ちましたか。

    参考になった投稿には [回答としてマーク] をお願い致します。

    設定いただくことで、
    他のユーザーもお役に立つ回答を見つけやすくなります。

    お手数ですが、ご協力の程どうかよろしくお願いいたします。

    MSDN/ TechNet Community Support Haruka
    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~

    2020年1月7日 0:42
    モデレータ