Detecting Colour and Monochrome Monitors
跳到导航
跳到搜索
检测用户是否拥有彩色或单色视频卡是一项微不足道的任务。 BIOS 数据段中包含此信息的值。 下面是一个来检索这个的函数 (在ISO C中) :
函数
#include <stdint.h>
enum video_type
{
VIDEO_TYPE_NONE = 0x00,
VIDEO_TYPE_COLOUR = 0x20,
VIDEO_TYPE_MONOCHROME = 0x30,
};
uint16_t detect_bios_area_hardware(void)
{
const uint16_t* bda_detected_hardware_ptr = (const uint16_t*) 0x410;
return *bda_detected_hardware_ptr;
}
enum video_type get_bios_area_video_type(void)
{
return (enum video_type) (detect_bios_area_hardware() & 0x30);
}