本人有一程序,需要向244端口先监听,允许时向244端口写入数据,真是第一次碰到,查遍手中资料也未有所收获,哪位大侠知道如何作,希望不吝赐教啊

解决方案 »

  1.   

    你自己本地的ip是127.0.0.1,端口是244,这样不是就可以写了么?winsock控件就可以
      

  2.   

    楼主说的不是网络端口,而是I/O端口。并且楼主所说的也不是COM1/COM2....这些串口,而是端口,例如1F0~1F7是读写硬盘的端口。
      Windows不允许用户程序直接访问端口,可以先进入Ring0(进入Ring0的方法可参照CIH),再访问端口,但这种方法在Win98下会造成系统假死,因为程序在Ring0中运行时,系统不能运行其它程序,通常是进入Ring0后运行一些代码后立即退出Ring0,再重新进入Ring0.而在NT/2000/XP等下面用这种方法就不是假死了,在Ring0中待的时间稍长就会真的死机或蓝屏。
      最常规最稳定的方法是写驱动。网上有个叫VBIO(Win9x)/NTPort(9x/nt/2000/xp/2003)的东东,是DLL封装的,能访问端口,但不能访问系统的保留端口,速度我没有测试过,去http://www.zealsoftstudio.com/cn/ntport/下载吧,好像是要注册的。
      我这儿还有一个现成的,是我自己专用的在NT/2000/XP/2003系列的系统下访问I/O端品的驱动,是动态加载的,用DLL封装的其调用接口,非常稳定,速度也比较快。但是楼主好像是做的商业程序,真不舍得把我的驱动免费拿出来,呵呵 :( ,不过上面那个也不错,呵呵。
      

  3.   

    楼主说的不是网络端口,而是I/O端口。并且楼主所说的也不是COM1/COM2....这些串口,而是端口,例如1F0~1F7是读写硬盘的端口。
      Windows不允许用户程序直接访问端口,可以先进入Ring0(进入Ring0的方法可参照CIH),再访问端口,但这种方法在Win98下会造成系统假死,因为程序在Ring0中运行时,系统不能运行其它程序,通常是进入Ring0后运行一些代码后立即退出Ring0,再重新进入Ring0.而在NT/2000/XP等下面用这种方法就不是假死了,在Ring0中待的时间稍长就会真的死机或蓝屏。
      最常规最稳定的方法是写驱动。网上有个叫VBIO(Win9x)/NTPort(9x/nt/2000/xp/2003)的东东,是DLL封装的,能访问端口,但不能访问系统的保留端口,速度我没有测试过,去http://www.zealsoftstudio.com/cn/ntport/下载吧,好像是要注册的。
      我这儿还有一个现成的,是我自己专用的在NT/2000/XP/2003系列的系统下访问I/O端品的驱动,是动态加载的,用DLL封装的其调用接口,非常稳定,速度也比较快。但是楼主好像是做的商业程序,真不舍得把我的驱动免费拿出来,呵呵 :( ,不过上面那个也不错,呵呵。