Inpout32.dll ไลบรารีพิเศษที่ใช้ในการเขียนโปรแกรมติดต่อพอร์ตขนาน สามารถดาวน์โหลดได้ฟรีที่
https://sourceforge.net/projects/lptcontrol/?source=directory (https://sourceforge.net/projects/lptcontrol/?source=directory)
ดำเนินการดังนี้
-ทำการแตกไฟล์(ที่ได้ดาวน์โหลดมาจาก URL ข้างบน)
-คัดลอกไฟล์ inpout32.dll
-ไปไว้ในโฟลเดอร์ system32 ที่อยู่ในโฟลเดอร์ windows --> C:\Windows\System32\
ถ้าเป็น Windows Me, 2000, XP --------------> ให้ก็อปปี้ไว้ที่โฟลเดอร์ C:\Windows\System32 หรือ C:WinntSystem32
(http://image.free.in.th/z/ix/pddll.png)
หากไม่ดำเนินการเวลารันผลจะเป็นเช่นนี้
(http://image.free.in.th/z/it/err_inpout32.png)
เวลาใช้งาน
ต้องประกาศการใช้งานก่อนเขียนโปรแกรม เมื่อต้องการใช้คำสั่งส่งข้อมูลออกพอร์ต
Private Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)
ต้องประกาศการใช้งานก่อนเขียนโปรแกรม เมื่อต้องการใช้คำสั่งรับข้อมูลจากพอร์ต
Private Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal PortAddress As Integer) As Integer
การใช้ฟังก์ชั่นหน่วงเวลา
ต้องประกาศการใช้งานก่อนเขียนโปรแกรม
Public Declare Sub Sleep Lib "Kernel32.dll" (ByVal PortAddress As Integer)
รูปแบบการใช้งาน
คำสั่งส่งข้อมูลออก
out เบอร์พอร์ต,ข้อมูลที่ส่งออก
ตัวอย่างเช่น
out &H378,12
คำสั่งรับข้อมูลจากพอร์ต
inp (เบอร์พอร์ต)
ตัวอย่างเช่น
value=inp(&H379)
คำสั่งหน่วงเวลา
Sleep 500 'หน่วงเวลา 500 มิลลิวินาที
การประกาศใช้ฟังก์ชั่นเมื่อใช้กับ Visual C#
using System.Runtime.InteropServices;
public class PortAccessAPI
{
[DllImport("inpout32.dll", EntryPoint = "Out32")]
public static extern void Output(int address, int value);
[DllImport("inpout32.dll", EntryPoint = "Inp32")]
public static extern int Input(int address);
}
ฟังก์ชั่นใช้งานเมื่อต้องการส่งค่าออกพอร์ต
int value = 24;
PortAccessAPI.Output(0x378, value);
ฟังก์ชั่นใช้งานเมื่อต้องการรับค่าจากพอร์ต
int value;
value = PortAccessAPI.Input(adress);
ตำแหน่งการประกาศใช้ฟังก์ชั่น
(http://image.free.in.th/v/2013/ie/180516090501.png)