4
我想發送數據到一個C#程序的LPT1端口,不幸沒有成功.. 我正在使用Windows 7 x64。 我都嘗試x86和x64(inpoutx64.dll)DLL的..並行端口與C#
隨着64位的DLL當我發送:
Output(888, 255);
它只是延續了程序作爲一切正常,但我不能看在我的萬用表(僅靜態0.02V)什麼..
我也試圖與C++如下:
int main() {
int val = 0;
printf("Enter a value\n");
scanf("%d", &val);
_outp(0x378, val);
getchar();
_outp(0x378, 0);
return 0; }
但它拋出一個異常:
Unhandled exception at 0x01281428 in ppac.exe: 0xC0000096: Privileged instruction.
我記得有一次我做了這樣的事情工作在XP(C#不是C++代碼),我希望它能夠在WIN7太.. 請幫助我。
謝謝。
它可能在XP下,但只有在安裝設備驅動程序(打開所有端口IIRC)後。 – 2010-05-30 22:18:44
我的意思是C#版本正在工作..它不是很清楚..現在編輯。 訪問它作爲一個文件 - 並不真的爲我工作.. C#說: FileStream不會打開Win32設備,如磁盤分區和磁帶驅動器。避免在路徑中使用「\\。\」。 – 2010-05-31 15:16:28
@Michael:'inpoutx64.dll'裏面嵌入了一個內核模式驅動,它將原始端口接口暴露給用戶模式程序。 (請參閱http://logix4u.net/Legacy_Ports/Parallel_Port/How_Inpout32.dll_works_.html)。這就是爲什麼你的C#程序在XP上工作。 – 2010-05-31 21:15:49