-
23-01-2015, 08:37 AM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Cách tìm id của thread trong VC++?
mình có đoạn code như này:
Mã:#include <windows.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, LPSTR lpszCmdLine, int nCmdShow) { DWORD threadIdNotepad; HANDLE hwnd2; hwnd2 = FindWindowA("Notepad", "Untitled - Notepad"); if (hwnd2 == NULL) { MessageBoxA(0, "khong tim thay notepad", "hook", 0); } else { threadIdNotepad = GetThreadId(hwnd2); if (threadIdNotepad == NULL) { MessageBoxA(0, "khong lay dc id", "hook", 0); } } return 0; }
- code đó mình dùng để tìm giá trị cho tham số cuối của hàm SetWindowsHookEx(). cho mình hỏi là notepad khi chạy là một tiến trình hay tiểu trình vì mình thấy có
hàm GetProcessId() nữa mà tham số cuối của hàm SetWindowsHookEx() là threadid vậy thì chỉ hook dc một thread chứ không hook dc một process à (hook cục bộ)View more random threads:
- Xin chỉ dùm cách tra các hàm VC 6.0 trên msdn(online)
- Đề bài : Cộng 2 số nguyên cực lớn bằng chuỗi. Mọi người giúp e với !!!
- Tính thời gian chạy của một thuật toán ???
- lập trình cỗng COM với MFC dialog!
- Giới hạn số phần tử của 1 dòng in ra trong cout ntn?
- tạo Tab do mình làm nhưng không biết lỗi ở đâu
- làm thế nào tạo để biến combo box thành 1 item của litstview
- Không debug được project trong VS2008
- cho mình hỏi về structure trong VS c++ !
- Cách làm game mario bằng MFC như thế nào?
-
23-01-2015, 10:14 AM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Trong MSDN
GetThreadId function
Retrieves the thread identifier of the specified thread.
Syntax
C++
DWORD WINAPI GetThreadId(
_In_ HANDLE Thread
);
Parameters
Thread [in]
A handle to the thread. The handle must have the THREAD_QUERY_INFORMATION or THREAD_QUERY_LIMITED_INFORMATION access right. For more information about access rights, see Thread Security and Access Rights.
Windows Server 2003: The handle must have the THREAD_QUERY_INFORMATION access right.
Return value
If the function fails, the return value is zero. To get extended error information, call GetLastError.
notepad khi chạy là một tiến trình, còn các kỹ thuật hook mình chưa đụng tới nhiều nên chưa trả lời bạn.
-
24-01-2015, 03:11 PM #3Banned
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
- mình hiểu ý bạn và mình đã thử lại nhựng không được bạn ơi. cụ thể là mình đã tìm HWND bằng FinWindows sau đó lấy bỏ vào GetWindowThreadProcessId lấy được pid bỏ vào
OpenProcess lấy được HANDLE mình đã thử HANDLE đó bằng cách kill notepad và thành công nhưng khi bỏ HANDLE đó vào GetThreadID thì nó vẫn trả về null
Thông qua phân tích dữ liệu Google từ 86 quốc gia, mới đây, một công ty tại Anh đã công bố bảng xếp hạng kích tấc "cậu nhỏ" của các nước trên thế giới. Kết quả, hầu hết các nước xếp ở nhóm đầu của...
"Chim" của chàng trai Việt thuộc...