⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.c

📁 在windows2000xp下直接进行端口操作的程序。
💻 C
字号:
/**************************************************//***                                            ***//*** TEST.c  -- test interface to inpout32.dll  ***//***  ( http://www.logix4u.net/inpout32.htm )   ***//***                                            ***//*** Copyright (C) 2003, Douglas Beattie Jr.    ***//***                                            ***//***    <beattidp@ieee.org>                     ***//***    http://www.hytherion.com/beattidp/      ***//***                                            ***//**************************************************//*******************************************************//*                                                     *//*  Builds with Borland's Command-line C Compiler      *//*    (free for public download from Borland.com, at   *//*  http://www.borland.com/bcppbuilder/freecompiler )  *//*                                                     *//*   Compile with:                                     *//*                                                     *//*   BCC32 -IC:\BORLAND\BCC55\INCLUDE  TEST.C          *//*                                                     *//*                                                     *//*  Be sure to change the Port addresses               *//*  accordingly if your LPT port is addressed          *//*  elsewhere.                                         *//*                                                     *//*******************************************************/#include <stdio.h>#include <conio.h>#include <windows.h>/* Definitions in the build of inpout32.dll are:            *//*   short _stdcall Inp32(short PortAddress);               *//*   void _stdcall Out32(short PortAddress, short data);    *//* prototype (function typedef) for DLL function Inp32: */     typedef short _stdcall (*inpfuncPtr)(short portaddr);     typedef void _stdcall (*oupfuncPtr)(short portaddr, short datum);int main(void){     HINSTANCE hLib;     inpfuncPtr inp32;     oupfuncPtr oup32;     short x;     int i;     /* Load the library */     hLib = LoadLibrary("inpout32.dll");     if (hLib == NULL) {          printf("LoadLibrary Failed.\n");          return -1;     }     /* get the address of the function */     inp32 = (inpfuncPtr) GetProcAddress(hLib, "Inp32");     if (inp32 == NULL) {          printf("GetProcAddress for Inp32 Failed.\n");          return -1;     }     oup32 = (oupfuncPtr) GetProcAddress(hLib, "Out32");     if (oup32 == NULL) {          printf("GetProcAddress for Oup32 Failed.\n");          return -1;     }/***************************************************************//* now test the functions */     /* Try to read 0x378..0x37F, LPT1:  */     for (i=0x378; (i<0x380); i++) {          x = (inp32)(i);          printf("port read (%04X)= %04X\n",i,x);     }     /*****  Write the data register */     i=0x378;     x=0x77;     (oup32)(i,x);     printf("port write to 0x%X, datum=0x%2X\n" ,i ,x);     /***** And read back to verify  */     x = (inp32)(i);     printf("port read (%04X)= %04X\n",i,x);     /*****  One more time, different value */     i=0x378;     x=0xAA;     (oup32)(i,x);     printf("port write to 0x%X, datum=0x%2X\n" ,i ,x);     /***** And read back to verify  */     x = (inp32)(i);     printf("port read (%04X)= %04X\n",i,x);     FreeLibrary(hLib);     return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -