////////////////////////////////////////////////////////////////////////////////////////////////////////////SpecialSample2
//MIDIで音を鳴らす
//	INCLUDE mmsystem.h
//  LINK winmm.lib 
////////////////////////////////////////////////////////////////////////////////////////////////////////////SpecialSample2
#include "mmsystem.h"
void CShareDlg::OnButton97() 
{
	UINT nRc;
	//インストールされているMIDIの数を得る
	nRc = midiOutGetNumDevs();			
	if(nRc==0){
		MessageBox("midiが使用できません");
		return;
	}

	HMIDIOUT hMidiOut;
	//MIDIを開く
	nRc = midiOutOpen(&hMidiOut, -1, NULL, NULL, NULL);		
	if(nRc != MMSYSERR_NOERROR ){
		MessageBox("midiOutOpenでエラーが発生しました");
		return;
	}

	DWORD dwCOMMAND;

	//コマンドを組み立てる
	dwCOMMAND = 0x7f3c90;	
	//--  7f → 音の強さ 00〜ff
	//  --  3c → 音 3c=ド 3d=ド# 3e=レ 3f=レ# 40=ミ 41=ファ
	//    -  9 → 1001(b) = 音を鳴らす 1000(b) = 音を止める
	//     -  0 → チャンネル番号
	nRc = midiOutShortMsg(hMidiOut, dwCOMMAND);	//コマンドを送って音を鳴らす(ここでは音を鳴らす)
	if(nRc != MMSYSERR_NOERROR ){
		MessageBox("midiOutOpenでエラーが発生しました");
		return;
	}
	dwCOMMAND = 0x7f3c80;	//コマンドを組み立てる
	//--   7f → 音の強さ 00〜ff
	//  --  3c → 音 3c=ド 3d=ド# 3e=レ 3f=レ# 40=ミ 41=ファ
	//    -	 8 → 1001(b) = 音を鳴らす 1000(b) = 音を止める
	//     - 0 → チャンネル番号
	nRc = midiOutShortMsg(hMidiOut, dwCOMMAND);	//コマンドを送って音を鳴らす(ここでは音を止める)
	if(nRc != MMSYSERR_NOERROR ){
		MessageBox("midiOutOpenでエラーが発生しました");
		return;
	}

	//いきなりクローズすると音がまったく聞こえないのですこしSleepする
	Sleep(1000);											

	//MIDIを閉じる
	nRc = midiOutClose(hMidiOut);							
	if(nRc != MMSYSERR_NOERROR ){
		MessageBox("midiOutCloseでエラーが発生しました");
		return;
	}
}
頭の回転が速くなる耳トレの紹介
   仙台市小松島の賃貸アパート紹介
   サーチエンジン、掲示板リンク集
アイドル情報