開発環境 |
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