我在C#中更新最初用VC++ V1.0爲DOS6編寫的一些軟件。C# - 讀取並行端口狀態(簡單的按鈕開關)
該軟件的一個方面是檢查並行端口,在該端口連接一個簡單的按鈕開關。我不知道目前的交換機所連接的兩個引腳,但我對老程序的源,相關章節,其中低於...
#define switch_mask 0x10
void main(int argc, char *argv[])
{
int NewState = 0, OldState = 0;
/* Check switch */
NewState = _bios_printer (_PRINTER_STATUS, 0, 0);
if (NewState != OldState)
{
checkParallelPort (NewState);
OldState = NewState;
}
}
void checkParallelPort (int portState)
{
int SwitchState;
/* Switch bit is Active LOW */
SwitchState = (portState & switch_mask) ? 1 : 0;
}
現在_bios_printer(bios.h內)在C#中顯然不適用於我,但我正在努力尋找可以完成這項簡單任務的替代方案。
_bios_printer上的信息是here。我已經做了大量的搜索/從並行端口讀取/寫入.Net,但似乎沒有提供我的端口狀態。
另外,您可以從這段代碼(以及它如何檢查'狀態')得出兩個開關線連接在DB25插頭上的結論嗎?
如果有人對此有任何幫助/建議,我將不勝感激。 非常感謝
_「最初用VC++ V1.0編寫的DOS6」_,祝你好運。 – 2011-12-14 09:06:55