在Windows95系列中可用_outp函数直接写I/O口,但因为Windows NT系列采用了新的安全保护机制,对I/O口的读写必须在核心态下执行。
我最近在网上找到一个WinIO库,据其介绍可绕过Windows安全保护机制,允许32位Windows 程序直接对I/O口进行操作(具体介绍可察看其帮助文件)。
我按其使用说明具体在我的程序中使用该库,但却连初始化都不行(调用InitializeWinIo()函数返回false)。
现求各位曾使用过该库或有兴趣使用该库的高手帮忙解决!
谢谢!!!!

解决方案 »

  1.   

    不好意思啊,我忘了给出WinIO库的下载地址。
    www.interlas.com
      

  2.   

    我试过他的例子程序了,没有问题。
    注意:你必须确保你的应用程序能够找到 WinIo.dll 和 WinIo.sys,
    一般将它们放到与应用程序同一个目录。
      

  3.   

    I'll download it and have a try tonight...
      

  4.   

    TO seaquester:
    我有将WinIo.dll、WinIo.sys和WinIo.vxd放在与应用程序同一目录下。
    请你尝试使用一下可以吗?
      

  5.   

    To 112franco()
    我是试过后才说可用的!
      

  6.   

    winio我使过,不行,给一个email,我发一个能用的
    给你,
      

  7.   

    在VC中按ALT+F7,link选项卡的对象库中加入winio.lib,还有你必须以Administrator权限运行.我用过,完全可行的。
      

  8.   

    To confideman2000() :
    e-mail:[email protected]
    thanks
      

  9.   

    我在用Yariv Kaplan 写 WinIo 2.0(免费第三方dll)的WINIO对端口直接访问时发现运行读硬盘参数程序很正常,可是我要访问COM1(0X3F8)或COM2(0X2F8) 总是读出的值为FF,而且写不进去。 int port=0x3f8; //初始化COM 
    OutPort (port+0x03,0xab);// 3FB 停止1,字的长度8 ,用奇偶校验1, 
    OutPort (port,0x30); //3F8 
    OutPort (port+0x01,0); //3f9,0 波特率2.4K ShowMessage(InPort(port)); 
    的结果为:255程序未报任何错误,不知道是什么原因有哪位高手能指点吗(或者用其它方法), 高分想送!