软件注册站
热情软件屋

 
如何获得打印端口(LPT port)的端口地址
编号: QA002523    
建立日期: 2000年2月3日 最后修改日期: 2002年2月24日
所属类别: C/C++ - DDK与硬件设备
   
    编程工具: VC++6.0
    操作系统: PWINDOWS98
    请问在VC++中如何获得打印端口(LPT port)的端口地址?(mitchzh)
   
    LPT端口地址保存在BIOS存储器的40:06到40:0F。下面是一个例子(只能在Win9x下运行):
    short __stdcall GetLPTPortAddress(short PortNo)
    {
     int lPortNo = PortNo;
    
     __asm
     {
     push es
     push ebx
     mov ebx, lPortNo
     shl ebx,1
     mov ax,40h // Dos segment adress
     mov es,ax
     mov ax,ES:[ebx+6] // get port adress in 16Bit way :)
     pop ebx
     pop es
     }
    }
    对于Win NT/2000/XP的用户可以使用NTPort Library(http://china.zealsoft.com/cn/ntport/)的函数获得端口地址。

    

此问题由李海回答。

附加关键字:编程, 源程序, programming, source code, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, DDK与硬件设备, hardware, ddk, vtoolsd, driver studio, winrt

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio