我在多个设备上使用.NET CF 2.0,这些设备具有不同的显示功能(特别是彩色/单色),我想在运行时确定但无法找到任何可以访问此信息的方法
答案 0 :(得分:3)
使用COLORRES调用GetDeviceCaps作为nIndex值。
修改1
这可以为您提供颜色深度,但不是实际的“颜色”与“单色”。实际上并没有提供任何一个,因为它在那个级别上并不重要。
一般来说,您可以查看颜色深度,并说如果它是8位或更低,则非常非常可能是灰度。更大可能是颜色。
当然OEM可以在单色显示器上使用16bpp驱动程序。没有理由你不能这样做,它只是非常低效浪费,因为单色硬件没有任何电线或额外位的规定,所以他们只是倾倒在地板上。
如果你需要真的,真的知道它是彩色还是单色,唯一可靠的方法就是通过设置实际询问用户。
答案 1 :(得分:2)
要获取此信息,您需要P / Invoke GetDC()和GetDeviceCaps()。这是你的链接:
http://blogs.msdn.com/davidklinems/archive/2005/02/02/366042.aspx