• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Giúp em về vấn đề keypress

Góc trao đổi, hỏi đáp của ngôn ngữ Visual Basic 6 và Visual Basic Script

Điều hành viên: tungblt

enoughvinh
Bài viết: 1
Ngày tham gia: T.Hai 24/10/2016 3:24 pm

Giúp em về vấn đề keypress

Gửi bàigửi bởi enoughvinh » T.Hai 24/10/2016 3:39 pm

Ai code hộ em đoạn mã nội dung như sau
" khi mà mình bấm lần lượt một phím, thì nó tự động chuyển thành bấm lần lượt các phím khác
vd như khi e bấm 3 lần phím "Q" thì sẽ thành phím 1, Bấm "Q" tiếp thì thành phím 2, Bấm Q tiếp thành phím 3 và lặp lại



Hình đại diện của người dùng
Dark.Cosmos
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 71
Ngày tham gia: T.Sáu 21/11/2014 3:58 am
Has thanked: 24 time
Been thanked: 14 time
Liên hệ:

Re: Giúp em về vấn đề keypress

Gửi bàigửi bởi Dark.Cosmos » T.Năm 13/07/2017 10:22 am

sử dụng API SetWindowsHookEx (https://msdn.microsoft.com/en-us/library/windows/desktop/ms644990(v=vs.85).aspx) với tham số idHook là WH_KEYBOARD_LL (13), tham số lpfn là địa chỉ của thủ tục hook, tham số hMod và dưThreadId là 0 để hook keyboard toàn cục.

Tại thủ tục hook, kiểm tra sự kiện nhấn phím, nếu là phím Q thì gán giá trị trả về của thủ tục = -1 để vô hiệu sự kiện nhấn phím Q (nếu muốn), đồng thời đánh dấu để xác định xem đây là lần nhấn thứ mấy.
Sau sử dụng hàm keydb_event (https://msdn.microsoft.com/en-us/library/windows/desktop/ms646304(v=vs.85).aspx) để tạo sự kiện nhấn phím thành phím mới do bạn chỉ định (ở đây là 1, 2, 3)

Có nhiều cách để bắt sự kiện nhấn phím Q, nhưng mình giới thiệu API SetWindowsHookEx vì nó có khả năngvô hiệu cái phím Q đã bấm.

Good luck to code auto combo. :D
Triệu người quen có mấy người thân, khi lìa trần có mấy người đưa?
DK Cosmos


Quay về “Visual Basic 6 và Visual Basic Script (VB & VBS)”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.7 khách