プログラミングのメモ帳(C/C++/HSP)

日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP)

警告音を鳴らす

2007年09月12日 13時05分00秒 | マルチメディア関連

簡単な警告音を鳴らすには MessageBeep 関数を使います。
この関数で鳴らせる警告音はWAVE形式のサウンドだけです。
各サウンド・タイプのWAVEデータはレジストリ・エントリから取得されます。(戻る)

再生定数

  1. 標準的な警告音(-1)
  2. 一般の警告音(MB_OK)
  3. 情報メッセージ音(MB_ICONASTERISK)
  4. 問い合わせメッセージ音(MB_ICONQUESTION)
  5. 警告メッセージ音(MB_ICONEXCLAMATION)
  6. システムエラー音(MB_ICONHAND)

プロトタイプ宣言

BOOL MessageBeep(
    UINT    uType   // サウンドタイプ
);

サンプル

#include <conio.h>
#include <stdio.h>
#include <windows.h>

// break付きのキーワード
#define CASE        break;case
#define DEFAULT     break;default

// 記号定数
#define ESC         (0x1B)

// メイン関数
int main( void )
{
    int ch;
    
    printf( TEXT("[1].....標準的な警告音\n") );
    printf( TEXT("[2].....一般の警告音\n") );
    printf( TEXT("[3].....情報メッセージ音\n") );
    printf( TEXT("[4].....問い合わせメッセージ音\n") );
    printf( TEXT("[5].....警告メッセージ音\n") );
    printf( TEXT("[6].....システムエラー音\n") );
    printf( TEXT("[ESC]...終了\n") );
    
    while ( (ch = _getch()) != ESC ){
        switch ( ch ){
            CASE TEXT('1'):     MessageBeep( (UINT)-1 );                // 0xFFFFFFFF
            CASE TEXT('2'):     MessageBeep( MB_OK );
            CASE TEXT('3'):     MessageBeep( MB_ICONASTERISK );         // SystemAsterisk
            CASE TEXT('4'):     MessageBeep( MB_ICONQUESTION );         // SystemQuestion
            CASE TEXT('5'):     MessageBeep( MB_ICONEXCLAMATION );      // SystemExclamation
            CASE TEXT('6'):     MessageBeep( MB_ICONHAND );             // SystemHand
            DEFAULT:            break;
        }
    }
    return 0;
}
  • 上記の標準的な警告音と一般の警告音は、場合によっては同じサウンドが再生されます。
  • また MessageBox 関数に対応した定数と同じ警告音が再生されます。
  • 再生するサウンドを変更するには、コントロールパネルの「サウンド」プロパティで設定して下さい。

関連記事



コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« クリップボードにテキストデ... | トップ | ビープ音を鳴らす »
最新の画像もっと見る

コメントを投稿

マルチメディア関連」カテゴリの最新記事