CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 386

386
Chương 9: File, thư mục, và I/O

// Phát sinh khi một file mới được tạo ra

// trong thư mục cần theo dõi.

private static void OnCreatedOrDeleted(object sender,

FileSystemEventArgs e) {

// Hiển thị thông báo.

Console.WriteLine("\tNOTIFICATION: " + e.FullPath +

"' was " + e.ChangeType.ToString());

Console.WriteLine();

}

}

20.

20.

Truy xu t c ng COM

ấ ổ

Truy xu t c ng COM

ấ ổ

Bạn cần gửi dữ liệu trực tiếp đến một cổng tuần tự (serial port).

Win32 API cung cấp các hàm không-được-quản-lý trong thư viện kernell32.dll
để trực tiếp đọc và ghi các byte đến cổng tuần tự. Bạn có thể nhập các hàm này
vào ứng dụng hoặc sử dụng Microft Communications ActiveX control
(MSComm.ocx—có trong Microsoft Visual Studio 6).

.NET không cung cấp bất kỳ giao diện được-quản-lý nào để thao tác với các cổng tuần tự. Do
đó, những ai cần chức năng này sẽ phải làm việc với các cơ chế tương đối phức tạp.
Một hướng giải quyết là tạo một vỏ bọc .NET cho Microsoft Communications Control
(MSComm.ocx). Điều kiểm này cung cấp một mô hình đối tượng mức-cao để làm việc với
cổng tuần tự. Tuy nhiên, bạn phải thu lấy điều kiểm này thông qua Visual Studio 6 (bạn có thể
chỉ chọn cài đặt các thành phần ActiveX khi cài đặt Visual Studio 6, tốn khoảng 5MB). Để có
thêm thông tin, bạn hãy tham khảo tài liệu Visual Studio 6.
Một hướng giải quyết khác là nhập các hàm API từ thư viện kernell32.dll. Cần cẩn thận khi sử
dụng phương pháp này vì bạn phải sử dụng đúng kiểu dữ liệu C# và duy trì layout của các cấu
trúc bộ nhớ. May mắn là, vấn đề này đã được Justin Harrell (

[email protected]

) giải quyết với

một lớp C# tùy biến có tên là

ComPort

. Mã lệnh của lớp này khá dài, bạn hãy xem trong đĩa

CD đính kèm.
Bạn có thể thêm lớp

ComPort

vào ứng dụng của bạn và sử dụng đoạn mã sau để tương tác với

một cổng COM.

ComPort port = new ComPort();

try {

// Cấu hình cho cổng.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.