C++ 使用input.dll进行并行端口编程
我用input32.dll驱动程序编写了一个简单的程序来控制windows xp中的并行端口。我将input32.dll文件包括在windows/system32文件夹中,如帮助部分所述C++ 使用input.dll进行并行端口编程,c++,visual-studio,dll,parallel-port,C++,Visual Studio,Dll,Parallel Port,我用input32.dll驱动程序编写了一个简单的程序来控制windows xp中的并行端口。我将input32.dll文件包括在windows/system32文件夹中,如帮助部分所述 #include <iostream> #include <Windows.h> using namespace std; typedef void (__stdcall* lpout32)(short, short); int main (void) { HMODULE hdll
#include <iostream>
#include <Windows.h>
using namespace std;
typedef void (__stdcall* lpout32)(short, short);
int main (void)
{
HMODULE hdll;
hdll = LoadLibrary ("inpout32.dll");
lpout32 fn = (lpout32) GetProcAddress (hdll, "Out32");
if (!fn)
cout << "No fn" << endl;
(*fn)(0x378, 0x00);
cout << "Hello" << endl;
return 0;
}
但是,系统显示以下信息-
cmd_test.exe中0x00365c0b处未处理的异常:0xC0000096:特权指令
似乎Input32.dll未加载到系统中。我是否遗漏了一些步骤?请检查您是否能够调试代码,以查看哪些指令出错?您有真正的并行端口还是USB端口?错误发生在cout。模块未在默认加载地址加载是调试时在input32.dll上显示的消息。您可以在DOS和Windows 95/98/ME上使用输入/输出指令,但不能在Windows NT家谱2K、XP、Vista、W7、W8中的任何内容上使用。您需要一个内核模式驱动程序。您想用并行端口做什么-打印或控制I/O线?