- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C# 实现对硬件的控制
在做项目的过程中,涉及到对硬件启用及禁用的功能
在做项目的过程
中,涉及到对硬件启用及禁用的功能
在指定时间段内才能启用硬件) 。因为 C# 自身对硬件的操
作基本为零, 为此, 搜索了一下 MSDN 中与设备相关的 API
函数。还果然就有。下面一一列举出各函数的原型及相关的 说明文档。并将其转为 C# 代码实现。
函数一: RegisterDeviceNotification
功能:注册设备或者设备类型,在指定的窗口返回相关的信
原型:
HDEVNOTIFY WINAPI RegisterDeviceNotification(
inHANDLE hRecipient,
in
HANDLE hRecipient,
inLPVOID NotificationFilter,
in
LPVOID NotificationFilter,
inDWORD Flags
in
DWORD Flags
);
参考说明文档:
/en-us/library/aa363431.aspx
转为 C# 后的代码为:
[DllImport( “ user32.dll “, CharSet =
CharSet.Auto)]
public static extern IntPtr
RegisterDeviceNotification(IntPtr hRecipient,
DEV_BROADCAST_DEVICEINTERFACE
NotificationFilter, UInt32 Flags);
[StructLayout(LayoutKind.Sequential)] public class
DEV_BROADCAST_DEVICEINTERFACE
...{
public int dbcc_size;
public int dbcc_devicetype;
public int dbcc_reserved;
函数二: UnregisterDeviceNotification
功能:通过名柄, 关闭指定设备的信息。 (主要应用于清理非
托管资源,并与 RegisterDeviceNotification 配对使用 )
原型:
BOOL WINAPI UnregisterDeviceNotification( in HDEVNOTIFY Handle
);
参考说明文档:
/en-us/library/aa363475(VS.85) .aspx 。
转为 C# 后的代码:
[DllImport( “user32.dll “, CharSet =
CharSet.Auto)]
public static extern uint
UnregisterDeviceNotification(IntPtr hHandle);
函数三: SetupDiGetClassDevs
功能:获取一个指定类别或全部类别的所有已安装设备的信 息。
IN LPGUID原型:
IN LPGUID
HDEVINFO SetupDiGetClassDevs(
ClassGuid,OPTIONALIN PCTSTREnumerator,
ClassGuid,
OPTIONAL
IN PCTSTR
Enumerator,
OPTIONALIN HWND hwndParent,OPTIONAL
OPTIONAL
IN HWND hwndParent,
OPTIONAL
IN DWORDFlags );
IN DWORD
Flags );
参考说明文档:
/en-us/library/ms792959.aspx
转为 C# 后的代码:
, SetLastError = true)][DllImport( “ setupapi.dll
, SetLastError = true)]
public static extern IntPtr
SetupDiGetClassDevs(ref Guid gClass, UInt32 iEnumerator, IntPtr hParent, UInt32 nFlags);
函数四: SetupDiDestroyDeviceInfoList
功能:销毁一个设备信息集合,并且释放所有关联的内存。
原型:
IN HDEVINFOWINSETUPAPI BOOL WINAPI
IN HDEVINFO
SetupDiDestroyDeviceInfoList(
DeviceInfoSet);
DeviceInfoSet
);
参考说明文档:
/en-us/library/ms792991.aspx
转为 C# 后的代码:
, SetLastEtrruroer)]=[DllImport( “ setupapi.dll
,
您可能关注的文档
- CFG桩基施工方案要点.docx
- CHD802AT系列门禁控制器说明要点.docx
- chrome中控制台使用指南.docx
- CISG与中国合同法比较要点.docx
- CLJ-02E型尘埃粒子计数器标准操作规程讲解.docx
- CNCA—N—004:2007良好农业规范认证实施规则要点.docx
- COD及BOD的测定方法讲解.docx
- CORT思考工具在实践中的运用.docx
- cpu转速不稳定怎么办.docx
- CRH――中国科技需要这样的发展速度.docx
- 第十一章 电流和电路专题特训二 实物图与电路图的互画 教学设计 2024-2025学年鲁科版物理九年级上册.docx
- 人教版七年级上册信息技术6.3加工音频素材 教学设计.docx
- 5.1自然地理环境的整体性 说课教案 (1).docx
- 4.1 夯实法治基础 教学设计-2023-2024学年统编版九年级道德与法治上册.docx
- 3.1 光的色彩 颜色 电子教案 2023-2024学年苏科版为了八年级上学期.docx
- 小学体育与健康 四年级下册健康教育 教案.docx
- 2024-2025学年初中数学九年级下册北京课改版(2024)教学设计合集.docx
- 2024-2025学年初中科学七年级下册浙教版(2024)教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)六年级下册浙摄影版(2013)教学设计合集.docx
- 2024-2025学年小学美术二年级下册人美版(常锐伦、欧京海)教学设计合集.docx
最近下载
- 成品保护及现场管理措施.docx
- 全科医学胃癌病例讨论.docx VIP
- 把握高考,精致备考——2024届语文备考策略 课件.pptx VIP
- 新生儿肺透明膜病个案.pptx VIP
- 2024年国家电网招聘之财务会计类题库附参考答案(轻巧夺冠).docx
- 2023-2024学年牛津上海版英语八年级上学期单元测试提升卷 Unit 3Trouble含详解.docx VIP
- 最新老年病的临床特征及其诊治原则PPT课件.ppt
- 2023-2024学年牛津上海版英语八年级上学期单元测试基础卷 Unit 3 Trouble含详解.docx VIP
- 2024年高考英语3500词汇朗读加例句.pdf
- 老年病的临床特征及其诊治原则课件.pptx VIP
文档评论(0)