CẢM ƠN THẦY @Duong_act rất dễ hiểu.
Để hiểu được cái này thì nó hơi rộng. Mình sẽ hướng dẫn bạn từng bước.
1. Bạn phải khai báo 3 hàm API kia.
Mình sẽ ví dụ với Unikey, sẽ click vào nút [Thông tin] trên giao diện Unikey.Visual C# Code:
[System.Runtime.InteropServices.DllImport("user32.dll")] [System.Runtime.InteropServices.DllImport("user32.dll")] [System.Runtime.InteropServices.DllImport("user32.dll")]
B2. Tìm handle của cửa sổ UniKey.
B3. Từ handle của cửa sổ chính, tìm handle của cửa sổ con. Ở đây ta tìm nút [Thông tin] dựa vào đoạn string là Thông tin".Visual C# Code:
// Nếu UnikeyHandle = IntPtr.Zero là không tìm thấy, hãy kiểm tra lại đoạn string. Đây là tiêu đề cửa sổ.
B4. Tìm thấy nút [Thông tin] rồi ta gửi một tin nhắn tương ứng click đến nút đó thông qua handle của nó.Visual C# Code:
// Nếu NutThongTinHandle = IntPtr.Zero là không tìm thấy, hãy kiểm tra lại đoạn string.
Visual C# Code:
SendMessage(NutThongTinHandle, 0x00F5, IntPtr.Zero, IntPtr.Zero); // 0x00F5 tương ứng với tin nhắn click
Bây giờ bạn bật cửa sổ UniKey lên rồi chạy chương trình và kiểm tra xem nút Thông tin trên UniKey có được nhấn không. Nếu được nhấn thì Unikey sẽ show ra cái cửa sổ thông tin.
Nếu vui vẻ. Bạn có thể them hàm SetWindowText để đổi chữ Thông tin thành chữ gì đó)
Visual C# Code:
Đã được chỉnh sửa lần cuối bởi Duong_act : 15-10-2016 lúc 03:28 PM.
CẢM ƠN THẦY @Duong_act rất dễ hiểu.
@Duong_act
@fms17
chào 2 anh, về cơ bản là e đã hiểu và vận dụng được cách để tìm các handle theo ý muốn
cho e hỏi:
// 0x00F5 tương ứng với tin nhắn click
cách tìm những thông số 0x00F5 nầy ở đâu vậy?
e có làm thử và tìm 1 handle trong 1 chương trình khác và tìm thấy nút button và click được theo hướng dẫn của thầy @Duong_act
e tiếp tục tìm 1handle nữa sau khi click button bên trên--> tìm thấy nhưng không click vào được.
- do handle tìm được nó k phải là button nên k click được, e nghỉ vậy. nó là combobox
2 anh có skype cho e xin để e add skype trao đổi học hỏi kinh nghiệm với. cảm ơn 2 anh
To @VanHien62
Mình gà. Mình không làm được.
- - - Nội dung đã được cập nhật ngày 16-10-2016 lúc 07:25 PM - - -
To @mmnol
0x00F5 là mã tin nhắn cho sự kiện click( button). Các mã khác, cho control khác bạn có thể tìm theo từ khoá WINDOWS MESSAGE, SendMessage