Các chương trình quản lý phòng máy hiện nay ở Việt Nam - 5
Số trang: 25
Loại file: pdf
Dung lượng: 730.63 KB
Lượt xem: 11
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Hai dòng đầu tạo một HDC cho thiết bị màn hình hiển thị, do tính chất đặc biệt của màn hình mà hàm chỉ cần nhận tham số tên “DISPLAY” là có thể trả về kết quả. Ba dòng kế tiếp có tác dụng lấy độ rộng và độ dài của màn hình. Dòng cuối là gọi phương thức SetWindowPos như cách 1. Có một lưu ý nhỏ ở đây là ta vẫn có thể sử dụng thay thế hàm SetWindowPos bằng một hàm API khác là MoveWindow. ...
Nội dung trích xuất từ tài liệu:
Các chương trình quản lý phòng máy hiện nay ở Việt Nam - 5 hàm API CreateDC: tạo ngữ cảnh thiết bị hàm API GetDeviceCaps: lấy các thông số của thiết bị. Áp dụng mã vào chương trình như sau: HDC hScrDC; hScrDC = CreateDC(DISPLAY, NULL, NULL, NULL); int xScrn, yScrn; xScrn = GetDeviceCaps(hScrDC, HORZRES); yScrn = GetDeviceCaps(hScrDC, VERTRES); //resize cho lon nhat . Day la topmost window SetWindowPos(&wndTopMost, 0, 0, xScrn, yScrn,SWP_SHOWWINDOW); Hai dòng đầu tạo một HDC cho thiết bị màn hình hiển thị, do tính chất đặcbiệt của màn hình mà hàm chỉ cần nhận tham số tên “DISPLAY” là có thể trả về kếtquả. Ba dòng kế tiếp có tác dụng lấy độ rộng và độ dài của màn hình. Dòng cuốilà gọi phương thức SetWindowPos như cách 1. Có một lưu ý nhỏ ở đây là ta vẫn có thể sử dụng thay thế hàmSetWindowPos bằng một hàm API khác là MoveWindow. Để biết chi tiết hàm, xemthêm trong Phụ lục Các hàm API hữu ích sử dụng trong chương trình. HàmAPI này tuy có chức năng tương tự với SetWindowPos nhưng hàm lại không cóchức năng quản lý việc “nổi” lên trên cửa sổ khác.Mặc dù theo thiết kế ban đầu khikhởi động xong, chỉ có một cửa sổ màn hình che phủ toàn bộ màn hình, rất có khảnăng người dùng nhanh tay kích hoạt một cửa sổ nào đó trên desktop. Khi ấy, sửdụng hàm MoveWindow lại không làm cửa sổ “nổi” lên trên tất cả các cửa sổ cònlại. Hàm SetWindowPos lại có thêm tác dụng hữu ích này. Thử nghiệm: Chương trình vô hiệu hóa tuyệt đối việc tương tác của người dùng vớidesktop bằng mouse. Chỉ còn lại một việc nữa phải làm là vô hiệu hóa bàn phím. 101 Hình 3-6 Màn che mouse 3.2.2.2 Tương tác bằng bàn phím: Mục tiêu ban đầu là không cho người dùng gõ những phím tắt kích hoạtchương trình. Tuy nhiên, ta không cần vô hiệu hóa cả bàn phím. Điều này rất lãngphí công sức. Thực chất, ta thực hiện mục tiêu dưới điều kiện hoàn thành ngăn chặntương tác với mouse. Vì vậy các loại tương tác làm cho xuất hiện các chương trìnhthông thường như Windows Explorer (Win key + E)… không làm ta quan tâm vìcác cửa sổ chương trình đó không thể “nổi” bằng cửa sổ màn hình che. Vì vậy, chỉcòn lại các loại phím và tổ hợp phím tắt “nhạy cảm” cấp thấp mà thôi. Các loạiphím tắt đó là: o Win key : có tác dụng bật Start menu. o Alt + Tab : có tác dụng đổi cửa sổ đang hoạt động. o Alt + Esc : có tác dụng kích hoạt cửa sổ kế trên thanh taskbar. 102 o Ctrl + Esc: có tác dụng tương tự Win key o Ctrl + Shift + Esc : có tác dụng bật Task Manager. o Esc : đây là vấn đề về kỹ thuật làm, theo thiết kế ta tạo một cửa sổ hộp thoại đơn giản, nên chịu tác dụng của phím Esc, có tác dụng tắt cửa sổ màn che. o Alt + F4 : có tác dụng tắt cửa sổ màn hình che. o Ctrl + Alt + Del : có tác dụng bật Task Manager, hay hộp lựa chọn tùy theo cấu hình Windows (đây là tổ hợp phím gây “nhức đầu” nhiều nhất, ta sẽ đề cập kỹ trong phần sau). o Ctrl + Shift + Esc : bật Task Manager. May mắn thay, trong 7 tổ hợp phím đầu, ta dễ dàng loại bỏ khi sử dụng kỹthuật lập trình bằng hook, xem chi tiết về kỹ thuật này trong 3.1 Kỹ thuật lập trìnhsự kiện và hook và mã nguồn chương trình. Ta chỉ áp dụng xây dựng một hookđơn giản lọc bỏ trong quá trình đợi đăng nhập và loại bỏ khi đăng nhập xong. Tuynhiên, với 2 tổ hợp phím cuối cùng, Ctrl + Alt + Del và Ctrl + Shift + Esc (về sau tagọi tắt chỉ một mình tổ hợp Ctrl + Alt + Del vì tổ hợp Ctrl + Shift + Esc cũng cótính năng tương tự), khá phức tạp. Ta phải hiểu rõ cơ chế truyền gởi thông điệp Ctrl– Alt – Del. Hook bàn phím không thể bắt được tổ hợp phím Ctrl – Alt – Del ! Tại sao ?Vì chính bản thân hệ điều hành Windows không hề gởi tổ hợp phím này cho hookchain. Nó đã được chặn bắt và xử lý ở mức thấp hơn ở hệ thống và không bao giờđược gởi lên ứng dụng. Ứng dụng nếu có cài đặt cũng chỉ nhận được các phím Ctrl,Alt, và Del rời rạc chứ không phải là tổ hợp Ctrl – Alt – Del. Tổ hợp phím sau đó sẽ gởi đến cơ chế khởi động đăng nhập của Windows,gọi là Winlogon, gồm 3 thành phần : thành phần thực thi (“winlogon.exe”), thư việnliên kết động “Chứng thực và nhận dạng theo cơ chế đồ họa” (GraphicalIdentification and Authentication GINA) (“msgina.dll”), và các thành phần mạng. Tham khảo các tài liệu, ta tìm thấy các cách khống chế tổ hợp Ctrl – Alt –Del, một số cách dựa trên việc khống chế một trong hai thành phần đầu trong cơchế khởi động đăng nhập của Windows như sau: 103 Giả lập “lừa” hệ điều hành rằng đang có một screensaver đang chạy, tổ hợp• phím được gởi nhưng không kích hoạt Task Manager. Tuy nhiên, cách này chỉ có tác dụng ở các phiên bản hệ điều hành Win98, không có tác dụng trên WinXP. Cách này cũng ...
Nội dung trích xuất từ tài liệu:
Các chương trình quản lý phòng máy hiện nay ở Việt Nam - 5 hàm API CreateDC: tạo ngữ cảnh thiết bị hàm API GetDeviceCaps: lấy các thông số của thiết bị. Áp dụng mã vào chương trình như sau: HDC hScrDC; hScrDC = CreateDC(DISPLAY, NULL, NULL, NULL); int xScrn, yScrn; xScrn = GetDeviceCaps(hScrDC, HORZRES); yScrn = GetDeviceCaps(hScrDC, VERTRES); //resize cho lon nhat . Day la topmost window SetWindowPos(&wndTopMost, 0, 0, xScrn, yScrn,SWP_SHOWWINDOW); Hai dòng đầu tạo một HDC cho thiết bị màn hình hiển thị, do tính chất đặcbiệt của màn hình mà hàm chỉ cần nhận tham số tên “DISPLAY” là có thể trả về kếtquả. Ba dòng kế tiếp có tác dụng lấy độ rộng và độ dài của màn hình. Dòng cuốilà gọi phương thức SetWindowPos như cách 1. Có một lưu ý nhỏ ở đây là ta vẫn có thể sử dụng thay thế hàmSetWindowPos bằng một hàm API khác là MoveWindow. Để biết chi tiết hàm, xemthêm trong Phụ lục Các hàm API hữu ích sử dụng trong chương trình. HàmAPI này tuy có chức năng tương tự với SetWindowPos nhưng hàm lại không cóchức năng quản lý việc “nổi” lên trên cửa sổ khác.Mặc dù theo thiết kế ban đầu khikhởi động xong, chỉ có một cửa sổ màn hình che phủ toàn bộ màn hình, rất có khảnăng người dùng nhanh tay kích hoạt một cửa sổ nào đó trên desktop. Khi ấy, sửdụng hàm MoveWindow lại không làm cửa sổ “nổi” lên trên tất cả các cửa sổ cònlại. Hàm SetWindowPos lại có thêm tác dụng hữu ích này. Thử nghiệm: Chương trình vô hiệu hóa tuyệt đối việc tương tác của người dùng vớidesktop bằng mouse. Chỉ còn lại một việc nữa phải làm là vô hiệu hóa bàn phím. 101 Hình 3-6 Màn che mouse 3.2.2.2 Tương tác bằng bàn phím: Mục tiêu ban đầu là không cho người dùng gõ những phím tắt kích hoạtchương trình. Tuy nhiên, ta không cần vô hiệu hóa cả bàn phím. Điều này rất lãngphí công sức. Thực chất, ta thực hiện mục tiêu dưới điều kiện hoàn thành ngăn chặntương tác với mouse. Vì vậy các loại tương tác làm cho xuất hiện các chương trìnhthông thường như Windows Explorer (Win key + E)… không làm ta quan tâm vìcác cửa sổ chương trình đó không thể “nổi” bằng cửa sổ màn hình che. Vì vậy, chỉcòn lại các loại phím và tổ hợp phím tắt “nhạy cảm” cấp thấp mà thôi. Các loạiphím tắt đó là: o Win key : có tác dụng bật Start menu. o Alt + Tab : có tác dụng đổi cửa sổ đang hoạt động. o Alt + Esc : có tác dụng kích hoạt cửa sổ kế trên thanh taskbar. 102 o Ctrl + Esc: có tác dụng tương tự Win key o Ctrl + Shift + Esc : có tác dụng bật Task Manager. o Esc : đây là vấn đề về kỹ thuật làm, theo thiết kế ta tạo một cửa sổ hộp thoại đơn giản, nên chịu tác dụng của phím Esc, có tác dụng tắt cửa sổ màn che. o Alt + F4 : có tác dụng tắt cửa sổ màn hình che. o Ctrl + Alt + Del : có tác dụng bật Task Manager, hay hộp lựa chọn tùy theo cấu hình Windows (đây là tổ hợp phím gây “nhức đầu” nhiều nhất, ta sẽ đề cập kỹ trong phần sau). o Ctrl + Shift + Esc : bật Task Manager. May mắn thay, trong 7 tổ hợp phím đầu, ta dễ dàng loại bỏ khi sử dụng kỹthuật lập trình bằng hook, xem chi tiết về kỹ thuật này trong 3.1 Kỹ thuật lập trìnhsự kiện và hook và mã nguồn chương trình. Ta chỉ áp dụng xây dựng một hookđơn giản lọc bỏ trong quá trình đợi đăng nhập và loại bỏ khi đăng nhập xong. Tuynhiên, với 2 tổ hợp phím cuối cùng, Ctrl + Alt + Del và Ctrl + Shift + Esc (về sau tagọi tắt chỉ một mình tổ hợp Ctrl + Alt + Del vì tổ hợp Ctrl + Shift + Esc cũng cótính năng tương tự), khá phức tạp. Ta phải hiểu rõ cơ chế truyền gởi thông điệp Ctrl– Alt – Del. Hook bàn phím không thể bắt được tổ hợp phím Ctrl – Alt – Del ! Tại sao ?Vì chính bản thân hệ điều hành Windows không hề gởi tổ hợp phím này cho hookchain. Nó đã được chặn bắt và xử lý ở mức thấp hơn ở hệ thống và không bao giờđược gởi lên ứng dụng. Ứng dụng nếu có cài đặt cũng chỉ nhận được các phím Ctrl,Alt, và Del rời rạc chứ không phải là tổ hợp Ctrl – Alt – Del. Tổ hợp phím sau đó sẽ gởi đến cơ chế khởi động đăng nhập của Windows,gọi là Winlogon, gồm 3 thành phần : thành phần thực thi (“winlogon.exe”), thư việnliên kết động “Chứng thực và nhận dạng theo cơ chế đồ họa” (GraphicalIdentification and Authentication GINA) (“msgina.dll”), và các thành phần mạng. Tham khảo các tài liệu, ta tìm thấy các cách khống chế tổ hợp Ctrl – Alt –Del, một số cách dựa trên việc khống chế một trong hai thành phần đầu trong cơchế khởi động đăng nhập của Windows như sau: 103 Giả lập “lừa” hệ điều hành rằng đang có một screensaver đang chạy, tổ hợp• phím được gởi nhưng không kích hoạt Task Manager. Tuy nhiên, cách này chỉ có tác dụng ở các phiên bản hệ điều hành Win98, không có tác dụng trên WinXP. Cách này cũng ...
Tìm kiếm theo từ khóa liên quan:
giáo trình đại học luật cơ bản kiến thức kinh doanh tài liệu học tập động cơ truyền độngGợi ý tài liệu liên quan:
-
Giáo trình phân tích một số loại nghiệp vụ mới trong kinh doanh ngân hàng quản lý ngân quỹ p5
7 trang 470 0 0 -
MARKETING VÀ QUÁ TRÌNH KIỂM TRA THỰC HIỆN MARKETING
6 trang 297 0 0 -
Đồ án: thiết kế hệ truyền động cơ cấu nâng hạ cầu trục
71 trang 254 0 0 -
Thiết lập kênh Marketing trực tuyến
20 trang 229 0 0 -
QUY CHẾ THU THẬP, CẬP NHẬT SỬ DỤNG CƠ SỞ DỮ LIỆU DANH MỤC HÀNG HÓA BIỂU THUẾ
15 trang 204 1 0 -
BÀI GIẢNG KINH TẾ CHÍNH TRỊ MÁC - LÊNIN - TS. NGUYỄN VĂN LỊCH - 5
23 trang 203 0 0 -
Giáo trình chứng khoán cổ phiếu và thị trường (Hà Hưng Quốc Ph. D.) - 4
41 trang 194 0 0 -
Giáo trình hướng dẫn phân tích các thao tác cơ bản trong computer management p6
5 trang 191 0 0 -
Tài liệu học tập hướng dẫn giải quyết tình huống học phần Tư pháp quốc tế
128 trang 186 0 0 -
BÀI GIẢNG LÝ THUYẾT MẠCH THS. NGUYỄN QUỐC DINH - 1
30 trang 171 0 0