Home | Lesson | Game | Tool | Link

B07.システム情報取得

OSのバージョンやドライバのバージョン、CPU/メモリ情報を取得/表示します。


システム情報取得
システム情報を取得して、c8(char)型に格納します。
通常はwchar_t型での取得になりますが、取得した情報をc8(char)型に変換しています。
OSのバージョンがかなり長めなので、表示する際は注意しましょう。
//システム情報取得
bool systemInfo(IrrlichtDevice *device, IVideoDriver* driver, c8* buf, s32 length)
{
	s32 len;
	u32 fps   = 0;
	u32 speed = 0;
	u32 total = 0;
	u32 avail = 0;
	c8* name  = NULL;
	c8* ver   = NULL;
	IOSOperator*  os;

	//引数チェック
	if(device == NULL || buf == NULL || length < 256)
		return false;

	//システム情報取得
	os  = device->getOSOperator();
	fps = driver->getFPS();
	os->getProcessorSpeedMHz(&speed);
	os->getSystemMemory(&total, &avail);
	name = utf16be_to_sjis(driver->getName(), &len);
	ver  = utf16be_to_sjis(os->getOperationSystemVersion(), &len);

	memset(buf, 0x00, length);
	sprintf(buf, "FPS : %d\nCPU : %d MHz\nMEM : %d / %d Kb\nNAME: %s\nVER :%s",
		fps, speed, avail, total, name, ver);

	return true;
}


getOSOperator
OSの制御オブジェクトを取得します。
詳細を取得するには、このオブジェクトの中身にアクセスします。
IOSOperator* getOSOperator() 


getProcessorSpeedMHz
CPUの処理速度を取得します。
bool getProcessorSpeedMHz(
	u32* MHz
)
MHz CPUの処理速度が返ります。


getSystemMemory
トータルのメモリと、利用可能なメモリを取得します。
bool getSystemMemory(
	u32* Total,
	u32* Avail
)
Total トータルのメモリが返ります。
Avail 利用可能なメモリが返ります。


getOperationSystemVersion
現在使用しているOSのバージョンをwchar_t型で取得します。
const wchar_t* getOperationSystemVersion()


getName
ビデオドライバの名前をwchar_t型で取得します。
const wchar_t* getName()

ダウンロード
今回作成したファイル一式です。

宿題
1.ドライバをDirectXにした場合の結果も見てみましょう。