首页 分享 Windows下利用winio库对 I/O 口进行操作

Windows下利用winio库对 I/O 口进行操作

来源:花匠小妙招 时间:2024-12-03 10:48

最新推荐文章于 2024-10-17 12:47:34 发布

Alenx321 于 2014-05-29 15:33:21 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

第一次写东西,把前段时间在做的一个小项目整理一下吧。

做的是windows下实现IO口的操作,实现人体感应,让程序和系统能根据人体感应器来做一些动作。

首先要知道的是,主板上的gpio针脚的物理地址,这个可以看下主板说明书。

由于windows不能像linux一样直接操作底层,所以有位牛人写了一个winio库,winio库通过使用内核模式下设备驱动程序和其它一些底层编程技巧绕过windows安全保护机制,允许32位windows程序直接对I/O口进行操作。WinIo包含了3个文件:WinIo.dll、WinIo.sys、WinIo.lib和WINIO.VXD,其中WINIO.VXD驱动程序用在Win95/98系统上,WinIo.sys驱动程序用在WinNT/2000/XP系统上,WinIo.dll提供了功能函数的调用。在 WinIo.dll中有两个函数最重要:InitializeWinIo用来初始化WinIo的驱动程序,必须在调用所有其它功能函数之前调用该函数;ShutdownWinIo用来卸载WinIo的驱动程序,在中止应用函数之前或者不再需要使用WinIo时调用。在初始化完成之后就可以直接读写 I/O端口而不会出现非法操作,winio库现在更新到3.0了,去百度google一下就能找到了。

举个例子直接贴代码吧,例子是参考了他人的思路,如果侵权请联系。

比如这个例子程序实现的功能是,当有人过来的时候,系统就修改下分辨率,只是个例子啦,当然真正用的话没那么无聊。

#ifndef WINIOTEST_H #define WINIOTEST_H #pragma once #include #include #include #include class CONTROL{ protected:HWND hwndDialog;int ReadByteFromEC(int offset, char *pdata);int WriteByteToEC(int offset, char data);public:CONTROL(HINSTANCE );~CONTROL(); }; #endif //WINIOTEST_H

#include

#include

#include "winio.h"

#include "winiotest.h"

#include

#include "stdafx.h"

using namespace std;

#define GPIO_BASE_ADDRESS 0x500

#define EC_DATAPORT0x0e

#define EC_CTRLPORT0x0c

#define EC_STAT_OBF0x01

#define EC_STAT_IBF0x02

#define EC_STAT_CMD0x08

#define EC_CTRLPORT_READ(char)0x80

#define EC_CTRLPORT_WRITE(char)0x81

#define EC_CTRLPORT_QUERY(char)0x84

int verbosity= 0;

char lasterrorstring[256]= "",

logbuf[8192]= "";

void GetScrnEERO(LONG i)

{

在编译的时候记得把winio.lib加到项目中,不然会编译不过去。

相关知识

在windows下安装使用GMP(好吧,我承认我闲的蛋疼)
c语言玫瑰花代码devc++
配置 Windows 环境变量的方法
在 Windows 应用中部署 PyTorch 数据分析模型
Python 常用的标准库以及第三方库有哪些?
windows使用ZFS精简指南
基于力控组态软件的风光发电监控的设计说明
对一台正在工作的列管式换热器,已知α o =116w / m.K,α i =11
哨的笔顺 笔画数:10 拼音:shào 部首:口
Win7 USB CDC驱动安装指南:解决Windows 7系统下的USB CDC设备识别问题

网址: Windows下利用winio库对 I/O 口进行操作 https://www.huajiangbk.com/newsview842384.html

所属分类:花卉
上一篇: 聚焦原创设计力量,赋能美好家居生
下一篇: 寝室文化节丨“舍”彩缤纷——宿舍

推荐分享