nhập môn điện toán,nguyễn trung hiệp,dhbkhcm 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 tr[.]
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 bấo cấ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 chẩ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 vaâ 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); if (ret ==1) return; } CuuDuongThanCong.com https://fb.com/tailieudientucntt Trang 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt