開発環境 Microsoft Visual Studio Express 2013 for Windows Desktop
実行環境 Microsoft Windows 8.1 (64bit)
プロジェクトの種類 Visual C++/Win32 コンソール アプリケーション
プロジェクト名 midicaps
アプリケーションの種類 コンソール アプリケーション
追加のオプション 空のプロジェクト, SDLチェック

midicaps.exeを他のPCで動かそうとしてmsvcr120.dllがない場合
とりあえずCライブラリをスタティックリンクする手順
  • プロジェクトのプロパティを開く
  • 構成はReleaseを選択する
  • 構成プロパティ→C/C++→コード生成を選択する
  • ランタイム ライブラリをマルチスレッド(/MT)にしてOKボタンをクリックする

midicaps.cpp
// マルチバイト文字セット
 
#pragma comment(lib, "winmm")
 
#include <stdio.h>
#include <Windows.h>
 
#define Print(var, type) printf(#var"=[%"#type"]\n", var)
 
int main()
{
	UINT num = midiOutGetNumDevs();
	Print(num, u);
 
	for (UINT n = 0; n < num; n++) {
		printf("---- #%u\n", n + 1);
 
		MIDIOUTCAPS moc;
		MMRESULT mmr = midiOutGetDevCaps(n, &moc, sizeof moc);
		if (mmr) continue;
 
		Print(moc.wMid, u);
		Print(moc.wPid, u);
		Print(moc.vDriverVersion, x);
		Print(moc.szPname, s);
		Print(moc.wTechnology, u);	// MOD_SWSYNTH 7
		Print(moc.wVoices, u);
		Print(moc.wNotes, u);
		Print(moc.wChannelMask, x);
		Print(moc.dwSupport, x);	// MIDICAPS_VOLUME 1
	}
	return 0;
}
 

出力
num=[1]
---- #1
moc.wMid=[1]
moc.wPid=[27]
moc.vDriverVersion=[100]
moc.szPname=[Microsoft GS Wavetable Synth]
moc.wTechnology=[7]
moc.wVoices=[32]
moc.wNotes=[32]
moc.wChannelMask=[ffff]
moc.dwSupport=[1]
 
最終更新:2014年04月01日 22:48