C# 有办法区分是否为独立显卡么

明缘 2010-08-20 05:57:53
RT。
想通过程序来判断 PC机内的显卡是否为独立显卡。
...全文
537 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
洛城之王 2010-08-31
  • 打赏
  • 举报
回复
太厉害了,有牛人!
明缘 2010-08-30
  • 打赏
  • 举报
回复
up.....
刀枪blue 2010-08-27
  • 打赏
  • 举报
回复
我记得网上有集成显卡的列表,可以去驱动之家找找
明缘 2010-08-25
  • 打赏
  • 举报
回复
up.......
明缘 2010-08-23
  • 打赏
  • 举报
回复
还有就是枚举的这个范围 肯定在实际收集的时候会有 查询不到的情况这个时候 我是把它看成集成的显卡呢,还是独立的显卡呢?
明缘 2010-08-23
  • 打赏
  • 举报
回复
"可以确定的。就是你枚举个集成显卡的范围。然后去判断下"
---------------------------------------------------
请问这个什么意思,意思是 将在目前网上能够搜索到的集成显卡的型号 放到DB么?
然后通过WMI 去获得一台PC的显卡型号 和这个比对 如果有则认为这个显卡是集成的 否则认为
它是独立显卡?
HolyPlace 2010-08-21
  • 打赏
  • 举报
回复
这里有比较全的获取硬件信息,相信有你想要的,一般都是使用ManagementClass类
http://syxc.javaeye.com/blog/728710
Ants2002 2010-08-21
  • 打赏
  • 举报
回复
太牛了,这样也行
「已注销」 2010-08-21
  • 打赏
  • 举报
回复
估计独立显示卡和集成显示卡仍不好区分.
「已注销」 2010-08-21
  • 打赏
  • 举报
回复
在google 中 .net WMI 中可能有你需要的东西.
http://www.microsoft.com/china/technet/community/scriptcenter/resources/wmifaq.mspx


什么是WMI?

WMI就是Windows Management Instrumentation(Windows管理规范)。它是Windows中的一个核心管理技术。

.NET中怎样使用WMI?

在.NET中,System.Management命名空间提供对系统管理信息和管理事件集合的访问,这些信息和事件是与Windows管理规范(WMI)结构对系统,设备和应用程序设置检测点有关的.一般情况下,应用程序和服务可以使用该命名空间下的ManagementObjectSearcher,ManagementScope,ManagementObject,ObjectQuery等类查询兴趣的管理信息(例如:在磁盘上还有多少剩余可用空间,当前CPU利用率,显示设备信息等)WMI使用类似与SQL语句,甚至可以使用Where子句,更多WMI信息请参见:

http://www.microsoft.com/china/technet/community/scriptcenter/resources/wmifaq.mspx

下面将在C#用WMI查询显示卡信息:

1.新建一个Win应用程序

2.添加System.Management.dll引用,并引入该名称空间

2.添加一个Button和ListView,并设置相应属性

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

using System.Management;

namespace WMI信息
...{
public partial class Form1 : Form
...{
public Form1()
...{
InitializeComponent();
}

private void getInfomation_Click(object sender, EventArgs e)//getInfomation为Button
...{
try
...{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\CIMV2", "SELECT * FROM Win32_VideoController");
foreach (ManagementObject info in searcher.Get())
...{
string[] item1 = ...{ "AdapterCompatibility", info["AdapterCompatibility"].ToString() };
listView1.Items.Add(new ListViewItem(item1));

string[] item2 = ...{ "AdapterDACType", info["AdapterDACType"].ToString() };
listView1.Items.Add(new ListViewItem(item2));

string[] item3 = ...{ "VideoModeDescription", info["VideoModeDescription"].ToString() };
listView1.Items.Add(new ListViewItem(item3));

string[] item4 = ...{ "Caption", info["Caption"].ToString() };
listView1.Items.Add(new ListViewItem(item4));

string[] item5 = ...{ "CurrentBitsPerPixel", info["CurrentBitsPerPixel"].ToString() };
listView1.Items.Add(new ListViewItem(item5));

string[] item6 =...{ "CurrentHorizontalResolution", info["CurrentHorizontalResolution"].ToString() };
listView1.Items.Add(new ListViewItem(item6));

string[] item7 = ...{ "VideoProcessor", info["VideoProcessor"].ToString() };
listView1.Items.Add(new ListViewItem(item7));
//还有很多属性,在此不一一例举,如:Status,PNPDeviceID,Name,Monochrome,MinRefreshRate,MaxRefreshRate,InstalledDisplayDrivers
//InfSection,InfFilename,DriverVersion,DeviceSpecificPens,DeviceID,Description
}
}
catch
...{
//肯定会出现异常,但为了演示不处理异常!
}
}
}
}
利用WMI还可以查询:

声音设备信息:(SELECT * FROM Win32_SoundDevice)

驱动设备信息:(SELECT * FROM Win32_SystemDriver)

串口信息:(SELECT * FROM Win32_Serialport)

处理器信息:(SELECT * FROM Win32_Processor)

等等



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hwj383/archive/2007/12/22/1958683.aspx
  • 打赏
  • 举报
回复
如果把主板劈成两半,中间焊接飞线连接,你的程序能测试出来那些元器件在两半中的哪一块上吗?

厉害,开发仪器肯定赚钱。
脾气不坏 2010-08-21
  • 打赏
  • 举报
回复
最多判对是不是独显吧。。。
End 2010-08-21
  • 打赏
  • 举报
回复
学习下。。。。
kiaoqq2010 2010-08-21
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 winner2050 的回复:]
不一定能够根据内存判断。

32+128、256+64 内存的机器你怎么知道它不是独立显卡?
[/Quote]
我想了下~也是。不能用内存判断。
用8取~怎么取都是0。让我再想想.
winner2050 2010-08-21
  • 打赏
  • 举报
回复
不一定能够根据内存判断。

32+128、256+64 内存的机器你怎么知道它不是独立显卡?
kiaoqq2010 2010-08-21
  • 打赏
  • 举报
回复
我不知道这样行不行啊~因为集成显卡的显存是用内存的。所以获取内存大小来判断是否集成或者独显。不过这个只能判断独显或者非独显而已。
wyq29 2010-08-21
  • 打赏
  • 举报
回复
楼主要干什么?

难道不是独立显卡 不让浏览? 如果是10年前的独立显卡 难道比现在独立显卡好 你是不是继续要分析显卡的性能呢?

wwfgu00ing 2010-08-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 chenny333 的回复:]
可以确定的。就是你枚举个集成显卡的范围。然后去判断下
[/Quote]
这个思路不错
刀枪blue 2010-08-20
  • 打赏
  • 举报
回复
可以确定的。就是你枚举个集成显卡的范围。然后去判断下
linus2008117 2010-08-20
  • 打赏
  • 举报
回复
能确定所用显卡,至于是独立还是集成的,不清楚,不过可以通过显卡型号来判断
加载更多回复(2)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧