日期:2014-05-19  浏览次数:20968 次

超级难题啊!!!如何用C#读取主板是否开启了自动开机功能?
我有2个问题,想给200分的,答对一个给100分(另100分再开贴给)。
1.如何读取主板是否起用了自动开机功能(主板已支持该功能),如没有启用怎么写程序让它启用。
2.如主板已启用自动开机功能,如何读取是everyday还是weekdays模式,以及如何读取设定的时间(几点几分几秒),当然也要有如何修改的代码。

------解决方案--------------------
这个,基本上很难。
除非有其他语言写的DLL可以用
------解决方案--------------------
特来瞻仰一下超级难题~
------解决方案--------------------
学习
------解决方案--------------------
UP+mark
我很想知道这问题怎么解决!
------解决方案--------------------
C#肯定做不出
------解决方案--------------------
我觉得如果有个主板的开发人员一定能搞出来,别人一般还真不会想这么做
------解决方案--------------------
应该是获取设置Bois信息的问题,刚才试了一下,用C#读取Bois信息,只能读出这些
BiosCharacteristics
BIOSVersion
BuildNumber
Caption
CodeSet
CurrentLanguage
Description
IdentificationCode
InstallableLanguages
InstallDate
LanguageEdition
ListOfLanguages
Manufacturer
Name
OtherTargetOS
PrimaryBIOS
ReleaseDate
SerialNumber
SMBIOSBIOSVersion
SMBIOSMajorVersion
SMBIOSMinorVersion
SMBIOSPresent
SoftwareElementID
SoftwareElementState
Status
TargetOperatingSystem
Version
====
源码如下:
string boisInfo = " ";
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher( "SELECT * FROM Win32_BIOS ");

foreach (ManagementObject mo in searcher.Get())
{
PropertyDataCollection pdc = mo.Properties;
PropertyData[] pd = new PropertyData[mo.Properties.Count];
pdc.CopyTo(pd, 0);
for (int i = 0; i < mo.Properties.Count; i++)
{
string protertyName = pd[i].Name;
boisInfo = boisInfo + "| " + protertyName;
}
}
}
catch(Exception x)
{
MessageBox.Show(x.ToString());
}
------解决方案--------------------
这个应该和具体的主板有关吧,这些参数也许放在coms不同的存储器芯片上
------解决方案--------------------
。。。。。。。。
------解决方案--------------------
有分就接!
------解决方案--------------------
特来瞻仰一下超级难题~

------解决方案--------------------
特来瞻仰一下超级难题~

------解决方案--------------------
没想过还有这种需求,特来看看:)
------解决方案--------------------
感觉超出C#能力范围了
------解决方案--------------------
感觉只能是调用api或者wmi了
------解决方案--------------------
用vxworks吧
------解决方案--------------------
不懂. 楼主去汇编去整整看..是什么操作的.
然后外包出去让人家用c++ 内联汇编 写个com 然后调用之
------解决方案--------------------