Bỏ qua đến nội dung
Bỏ qua điều hướng
Đăng nhập
MT.NET.VN

Viewbh Autoit Tut 30 Guiregistermsg Dang Ky Mot Ham Do Nguoi Dung Dinh Nghia Cho Windows Message Id Wm Msg 0 0 2023 04 04 01 26 02

Tìm kiếm
Thuộc khóa học · baihoc_sub = 13

Ngôn ngữ AutoIT căn bản

Bài 1 / 1 trong khóa học.

Xem khóa học
100%
Bài trướcĐây là bài đầu tiên Bài sauĐây là bài cuối cùng
MT LEARNING · LESSON

AutoIT tut 30: GUIRegisterMsg -Đăng ký một hàm-do-người-dùng-định-nghĩa cho Windows Message ID (WM_MSG) . 0 (0)

AutoIT tut 30: GUIRegisterMsg -Đăng ký một hàm-do-người-dùng-định-nghĩa cho Windows Message ID (WM_MSG) . 0 (0)

AutoIT tut 30: GUIRegisterMsg -Đăng ký một hàm-do-người-dùng-định-nghĩa cho Windows Message ID (WM_MSG) . 0 (0)

GUIRegisterMsg

Đăng ký một hàm-do-người-dùng-định-nghĩa cho Windows Message ID (WM_MSG) .

GUIRegisterMsg ( msgID, “function” )

Các tham số

msgID Định danh  thông điệp windows (Windows Message ID , Xem Appendix: Windows Message Codes).
functionTên của hàm sẽ được gọi khi thông điệp xuất hiện , sử dụng chuỗi rỗng để bỏ qua , không đăng ký.

Giá trị trả về

Th. Công :1
Hỏng :0

Chú ý

!!! Để hàm do bạn định nghĩa có thể làm việc được , cần gán cho nó tối đa 4 tham số , ngược lại có thể nó sẽ không được gọi !!!

Ví dụ

Func MyUserFunction($hWndGUI, $MsgID, $WParam, $LParam)

EndFunc


hoặc


Func MyUserFunction($hWndGUI, $MsgID)

EndFunc

Khi người dùng gọi hàm thì 4 tham số sẽ mang những giá trị sau :

Vị tríTham số Ý nghĩa
1hWndHandle của GUI mà thông điệp sẽ xuất hiện
2MsgĐịnh danh (ID) của  thông điệp Windows
3wParamTham số thông điệp đầu tiên (giá trị hex)
4lParamTham số thông điệp thứ hai (giá trị hex)

Ø       Có thể đăng ký tối đa 256 hàm cho các thông điệp windows

Ø       Theo mặc định , sau khi hàm người dùng kết thúc thì trình điều khiển thông điệp nội bộ của AutoIT sẽ tiếp tục làm việc. Điều đó sẽ không xảy ra nếu như lệnh Return trong hàm của bạn trả về một giá trị hoặc return mà không có giá trị theo sau.

Ø       !!! Nếu bạn muốn AutoIT chạy trình điều khiển nội bộ đối với một thông điệp , thì hàm-người-dùng nên trả về biến $GUI_RUNDEFMSG (trong thư viện GUIConstantsEx.au3) !!!

Ø       Ví dụ :  khi bạn muốn hàm trở về sớm hơn so với tiến trình kết thúc của nó và tiếp tục chạy trình điều khiển thông điệp nội bộ

Ø       Cẩn trọng : cản trở việc chạy một hàm-người-dùng đang thực thi một thông điệp cửa sổ với một lệnh như MsgBox() thì có thể đưa đến một cách chạy không mong đợi, hệ thống sẽ trở về nhanh như có thể !!!

Ø       Vài control có sử dụng các định danh thông điệp Windows đặc biệt , cho nên việc đăng ký chúng không có hiệu quả. Ví dụ như : WM_CHAR, WM_KEYDOWN, WM_KEYUP được dùng bởi control edit.

ĐÁNH GIÁ NỘI DUNG 0.0/5 0 lượt đánh giá
Bạn thấy nội dung này thế nào?
Mỗi trình duyệt/tài khoản được chấm lại sau 24 giờ.
Báo bài lỗiGiúp MT.Net.VN phát hiện nội dung cần kiểm tra
Báo lỗi được ghi vào hệ thống để Admin kiểm tra. Không dùng chức năng này để gửi hỗ trợ cá nhân.
Home Dịch vụ Khóa học CPanel