• Chủ Nhật, 21/12/2003 16:47 (GMT+7)

    Ý tưởng Click 'n' See

    Câu hỏi :
    Các từ điển Anh-Việt Click’n See và EVA300 đều có “độc chiêu” là click ngay vào chữ đang hiển thị trên màn hình thì xuất hiện giải nghĩa của chữ đó (nếu có). Xin hỏi: 1. Dùng kỹ thuật gì để nhận diện được từ đang hiển thị trên màn hình tại vị trí con chuột? 2. Có hàm Windows API hay thư viện DLL nào giải quyết yêu cầu này không?

    Trả lời :

    Không có sẵn hàm Windows API nào có chức năng đọc chuỗi text ở vị trí chuột trên màn hình. Hiện chúng tôi cũng chưa có thông tin về sự tồn tại và phân phối 1 thư viện *.dll có chứa hàm này, tuy nhiên nếu cần thiết, bạn có thể viết 1 hàm thực hiện chức năng này để dùng trong ứng dụng của bạn hay đặt trong file thư viện *.dll để phổ biến cho nhiều người dùng. Ý tưởng cơ bản là mọi ứng dụng thường phải gọi hàm API TextOutA() hay TextOutW() để hiển thị văn bản lên màn hình. Nếu ta chặn được hàm API này và lưu giữ được các tham số của hàm như chuỗi text, vị trí x,y cần hiển thị thì việc xác định chuỗi text ở vị trí chuột tại 1 thời điểm nào đó không có gì khó khăn cả. Phụ thuộc vào môi trường hoạt động là Win16 hay Win32 mà kỹ thuật chặn hàm API (override) sẽ khác nhau, để hiểu được kỹ thuật này, bạn cần có kiến thc về lậứp trình hệ thống, về cơ chế quản lý bộ nhớ ảo của Windows.

    Chuyên mục: Lập trình