Có người nói rằng GG đã sửa bảng NAT để lái các hàm send key về các hàm khác, kết quả không cho send key nữa. Để khắc phục hiện tượng này thì ta cần lưu giữ lại địa chỉ gốc của các hàm send key (của user32.dll) rồi đem ra sử dụng sau khi GG đã thay đổi chúng.
Tôi đã làm theo hướng đó, nhưng không thành công. Khi gọi địa chỉ gốc của hàm keybd_event thì chỉ tạo được sự kiện cho các ứng dụng khác, còn đối với 9Dragons thì không có tác dụng. Mặc dù trước khi có GG (Close beta) thì AutoIt với các hàm send key vẫn gửi sự kiện thành công.
Chuyển sang cách khác mạnh hơn. Vì GG tác động vào nhân, tôi cũng áp dụng vào nhân hệ thống. Sử dụng Windows Driver Development Kit (WDK), tôi bắt đầu làm việc chưa bao giờ làm là viết trình điều khiển thiết bị cho hệ thống. Đọc tài liệu thì thấy trình điều khiển là nơi giao tiếp giữa bàn phím và hệ điều hành, đồng thời ta có thể giả lập các sự kiện bàn phím qua driver.
Để nghiên cứu lập trình driver (DDK), khác với lập trình phần mềm (SDK), vì thao tác với nhân hệ thống nên việc gỡ rối đòi hỏi phải chạy trên một máy tính, lập trình và gỡ rối trên một máy khác. Như vậy phải có 2 máy tính. Chúng được nối với nhau qua cáp nối tiếp (null modem COM), hoặc cáp USB hoặc IE1394. Tôi chọn cáp nối tiếp vì dễ kiếm nhất.
Còn tiếp.
Tôi đã làm theo hướng đó, nhưng không thành công. Khi gọi địa chỉ gốc của hàm keybd_event thì chỉ tạo được sự kiện cho các ứng dụng khác, còn đối với 9Dragons thì không có tác dụng. Mặc dù trước khi có GG (Close beta) thì AutoIt với các hàm send key vẫn gửi sự kiện thành công.
Chuyển sang cách khác mạnh hơn. Vì GG tác động vào nhân, tôi cũng áp dụng vào nhân hệ thống. Sử dụng Windows Driver Development Kit (WDK), tôi bắt đầu làm việc chưa bao giờ làm là viết trình điều khiển thiết bị cho hệ thống. Đọc tài liệu thì thấy trình điều khiển là nơi giao tiếp giữa bàn phím và hệ điều hành, đồng thời ta có thể giả lập các sự kiện bàn phím qua driver.
Để nghiên cứu lập trình driver (DDK), khác với lập trình phần mềm (SDK), vì thao tác với nhân hệ thống nên việc gỡ rối đòi hỏi phải chạy trên một máy tính, lập trình và gỡ rối trên một máy khác. Như vậy phải có 2 máy tính. Chúng được nối với nhau qua cáp nối tiếp (null modem COM), hoặc cáp USB hoặc IE1394. Tôi chọn cáp nối tiếp vì dễ kiếm nhất.
Còn tiếp.

. Nuker vô địch ^^
Chứ đừng lấy dao mổ bò đi cắt tiết gà.