
Đặt chế độ giờ dùng mạng ADSL
Hỏi: Gia đình dùng mạng ADSL. Tôi muốn viết chương trình C++ đặt chế độ hẹn giờ, nếu ai không biết password thì chỉ
dùng được 30 phút, còn nếu biết password thì có thể dùng thoải mái. Xin hướng dẫn.
Đáp:
Khi có 1 yêu cầu cần giải quyết bằng máy tính, nếu yêu cầu đó khả thi và không quá phức tạp
(thường là vậy) thì bạn có thể dùng bất kỳ ngôn ngữ lập trình nào để hiện thực chương trình đáp
ứng yêu cầu của mình. Vấn đề thiết yếu trong việc phát triển 1 phần mềm là phải nắm bắt thật rõ
ràng, chi tiết các yêu cầu, dựa trên cơ sở đó bạn sẽ phân tích, thiết kế cụ thể các thành phần của
phần mềm trước khi dùng ngôn ngữ lập trình ưa thích để hiện thực chúng.
Thí dụ yêu cầu mà bạn trình bày về chương trình cần viết chưa rõ ràng, bạn chưa xác định xem
người dùng không có password dùng máy được 30 phút bằng cách nào, khi boot máy họ có thể
dùng máy để truy xuất mạng ngay được 30 phút không hay cần phải chờ người nhập password
hợp lệ trước khi sử dụng. Nếu phải chờ người nhập dùm password đúng thì mới dùng được 30
phút rồi máy dừng lại không cho dùng tiếp thì cách giải quyết sau đây có thể chấp nhận được (lưu
ý rằng có nhiều giải pháp khác nhau để giải quyết 1 yêu cầu):
1. cài và dùng WinXP để có thể tạo account cho người dùng. Tạo 1 account với password nào đó,
thông báo password cho người được phép sử dụng thoải mái.
2. Viết 1 ứng dụng nhỏ, nhiệm vụ chờ 30 phút (thí dụ dùng đối tượng Timer trong VB), mỗi khi hết
thời gian chờ, hàm xử lý sự kiện timeout sẽ yêu cầu người dùng nhập password rồi kiểm tra xem
đúng không, nếu không đúng thì gọi hàm ExitWindows() để tắt máy, còn nếu nhập đúng
password thì chờ tiếp 30 phút, cứ thế lặp lại...
3. Khai báo cho Windows biết và chạy tự động ứng dụng định giờ vừa mới viết mỗi lần boot máy
(dùng tiện ích Msconfig).
Như vậy từ đây, mỗi khi boot máy, người dùng phải nhập password, nếu không biết, họ phải nhờ
người biết nhập dùm. Sau đó họ dùng máy được 30 phút (làm bất cứ công việc gì, ngay cả truy
xuất mạng). Khi hết 30 phút, ứng dụng định giờ sẽ hỏi password, nếu họ nhập đúng thì máy chạy
tiếp bình thường, nếu không máy sẽ tắt.

