Môn Lập trình hướng đối tượng Trang 1 MÔN NHẬP MÔN ĐIỆN TOÁN Bài thực hành số 3 2 Viết chương trình liệt kê các process đang chạy I Mục tiêu Giúp SV tìm hiểu và biết cách lập trình truy xuất danh sách[.]
Trang MƠN : NHẬP MƠN ĐIỆN TỐN Bài thực hành số 3.2 : Viết chương trình liệt kê process chạy I Mục tiêu : Giúp SV tìm hiểu biết cách lập trình truy xuất danh sách Process chạy Windows II Nội dung : Xây dựng chương trình nhỏ hiển thị danh sách Process chạy Windows III Chuẩn đầu : Sinh viên nắm vững viết thành thạo ứng dụng xử lý Process Windows IV Qui trình : Dùng VS Net, tạo Project VC++ quản lý ứng dụng có form giao diện, form ch ứa listbox hiển thị button Code hàm xử lý Click button sau : //ham tim va hien thi cac process dang chay len Listbox void CListProcessesDlg::OnBnClickedOk() { // TODO: Add your control notification handler code here //khai baáo caác biïën cêìn duâng long lRet; int i; DWORD cbNeeded; DWORD cProcess; HANDLE hProcess; DWORD cb = 2048*4; HMODULE Modules[200]; WCHAR ModuleName[500]; int nSize = 500; DWORD *lpIDProcess = new DWORD(2048); int ret = 0; //tịm danh sấch cấc ID process àang chaåy if (EnumProcesses(lpIDProcess,cb,&cbNeeded)==0) return; cProcess = cbNeeded/4; lpIDProcess = new DWORD(cProcess); cb = cbNeeded; if (EnumProcesses(lpIDProcess,cb,&cbNeeded)==0) return; //duyïåt tûâng process vâ so sấnh tïn gúåi nhúá ca nố for (i = 0; i< cProcess;i++) { //tòm handle cuãa process hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, 0, lpIDProcess[i]); //kiïím tra if (hProcess != 0) { //tịm danh sấch cấc module cêëu thânh process lRet = EnumProcessModules(hProcess, Modules, 200, &cbNeeded); //nïëu cố, tịm tïn ca module àêìu tiïn danh sấch if (lRet != 0) { lRet = GetModuleFileNameExW(hProcess, Modules[0], ModuleName, nSize); if(lRet !=0) { //neu co thi hien thi len Listbox m_list.AddString(ModuleName); } } } //àoáng handle cuãa process lRet = CloseHandle(hProcess); Trang } if (ret ==1) return; } return; CDialogEx::OnOK(); Chọn menu Debug.Start Debugging để dịch chạy ứng dụng Nếu có lỗi phân tích sửa lỗi Nếu ứng dụng chạy, Click button OK, danh sách Process chạy hiển thị Nếu có lỗi phân tích sửa lỗi