VicoTas
Câu hỏi
avatar hothot
28/05/2013 06:57

Xin hỏi làm cách nào để lấy handle của ứng dụng khác như Word hay NotePad chẳng hạn?



Danh sách câu trả lời (1)
avatar BeMamNon 28/05/2013 06:57
Sau khi cài đặt 1 phần mềm lên đĩa cứng, phần mềm gồm từ 1 đến nhiều file cấu thành, nếu có nhiều file thì có 1 file *.exe để khởi động phần mềm đó. Lúc phần mềm chưa chạy ta nhận dạng phần mềm bằng đường dẫn xác định file *.exe của phần mềm đó. Trong hệ điều hành đa nhiệm (multi-task) như Win9x thì bạn có thể chạy nhiều phần mềm đồng thời, mỗi file phần mềm cũng có thể được chạy nhiều lần khác nhau và cùng tồn tại đồng thời, hệ thống sẽ tạo ra 1 “instance” riêng cho mỗi lần chạy phần mềm, trong trường hợp này đường dẫn file phần mềm không đủ để phân biệt từng “instance” của phần mềm đó. Để khắc phục vấn đề này, hệ thống dùng khái niệm “process” để quản lý 1 “instance” cụ thể của 1 phần mềm, để phân biệt process, hệ thống dùng tên nhị phân cho từng process, mỗi tên nhị phân chỉ xác định duy nhất 1 process. Thực tế Windows dùng 2 loại tên nhị phân khác nhau cho từng process: handle và processID, có nhiều hàm API xử lý process khác nhau trong đó có hàm thì dùng handle để nhận dạng process, có hàm thì dùng processID để nhận dạng process. Hiện Microsoft không cung cấp hàm API nào cho phép liệt kê trực tiếp các process đang chạy, do đó để liệt kê các process đang chạy, bạn cần nghiên cứu để nắm vững cơ chế quản lý process của Windows, từ đó mới viết được module phần mềm liệt kê các process đang chạy. Thông tin về cơ chế quản lý process của Windows được trình bày chi tiết trong sách “Advanced Windows” của tác giả Jeffrey Richter.

Mỗi phần mềm dùng giao diện đồ họa trong Windows gồm từ 1 đến n cửa sổ giao diện (window) khác nhau, chúng có mối quan hệ cha con theo hệ thống phân cấp. Windows cung cấp nhiều hàm API để bạn có thể duyệt các cửa sổ đang tồn tại trên Windows, mỗi cửa sổ thuộc về ứng dụng nào. Bạn hãy dùng MSDN (đĩa CD hay mạng MSN) đọc đặc tả chi tiết về các hàm API sau :

FindWindowEx(), EnumWindows(), EnumDesktopWindows(), GetWindowThreadProcessId(),...
Lưu ý bạn có thể dùng hàm GetWindow-ThreadProcessId() để tìm được thông tin về thread và process tạo ra cửa sổ cụ thể.
Trả lời câu hỏi
Tải lại mã
Câu hỏi lĩnh vực Câu hỏi khác
Hoài Nam (Nam Tước) Xin chỉ giúp cách tạo ASP truy cập CSDL bằng Access, tôi đã cài thử PWS nhưng không thể nào chạy được?

Đăng lúc: 06:56 - 28/05/2013 trong Câu hỏi khác

nophoto Làm sao để có thể cắt thành trang HTML, Từ hình ảnh đồ họa

Đăng lúc: 06:56 - 28/05/2013 trong Câu hỏi khác

nophoto Làm web tin tức???

Đăng lúc: 06:56 - 28/05/2013 trong Câu hỏi khác

nophoto Tạo độ nét cho chữ (web)

Đăng lúc: 06:56 - 28/05/2013 trong Câu hỏi khác

lighting Xem giùm mình cái cấu hình máy này có đủ làm đồ họa ko ah?

Đăng lúc: 06:56 - 28/05/2013 trong Câu hỏi khác

Manh Linh Hỏi về laptop cho dân kiến trúc: Em muốn mua laptop dành cho nghành kiến trúc có thể chạy được 3D

Đăng lúc: 06:56 - 28/05/2013 trong Câu hỏi khác

nophoto Liệt nút mp4 của máy mp4 rồi lại tự hết thế là sao nhỉ?

Đăng lúc: 06:56 - 28/05/2013 trong Câu hỏi khác

nophoto Cánh cài model TP link( model TD_8810)

Đăng lúc: 06:56 - 28/05/2013 trong Câu hỏi khác

Manh Linh Hỏi về tạo ảnh trong menu trong Macro?

Đăng lúc: 06:56 - 28/05/2013 trong Câu hỏi khác

nophoto Vào đâu để biết máy mình có bị nhiễm Virus hay không?

Đăng lúc: 06:56 - 28/05/2013 trong Câu hỏi khác

nophoto Lắp đặt adsl fpt ở đâu ???

Đăng lúc: 06:56 - 28/05/2013 trong Câu hỏi khác

nophoto Làm cách nào để có thể đóng băng ổ cứng. Giúp mình với các bạn ơi!

Đăng lúc: 06:56 - 28/05/2013 trong Câu hỏi khác

Lê Thị Hoa Hồng Vào đâu để biết được các thông tin chi tiết của máy. Xin giúp với

Đăng lúc: 06:56 - 28/05/2013 trong Câu hỏi khác

Mạnh Linh Hướng dẫn cài cấu hình cho modem Model TP link MD_8810

Đăng lúc: 06:56 - 28/05/2013 trong Câu hỏi khác

nophoto Hỏi về PC không khởi động được,màn hình tối om ?

Đăng lúc: 06:56 - 28/05/2013 trong Câu hỏi khác

nophoto ban nao biet chi dum minh cach giau file hay foder bang cach vao start<run va an regedit.ngoai ra con cach nao khac xin chi dum.

Đăng lúc: 16:59 - 16/07/2013 trong Câu hỏi khác

nophoto Máy mình hiện rất chậm, không biết máy bị chậm là do đâu... ai có bí quyết gì làm máy nhanh hơn thì chia sẻ nhé

Đăng lúc: 06:56 - 28/05/2013 trong Câu hỏi khác

Uk Mail bị spam thì được hiểu như thế nào?

Đăng lúc: 06:56 - 28/05/2013 trong Câu hỏi khác

nophoto ╬Đau khổ vì Spy╬

Đăng lúc: 06:55 - 28/05/2013 trong Câu hỏi khác

nophoto Tại sao không Down được chương trình FornatFactory?

Đăng lúc: 06:55 - 28/05/2013 trong Câu hỏi khác

Rao vặt Siêu Vip