Tài liệu thực hành 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
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 các Process đang chạy
trên Windows.
II. Nội dung :
▪
Xây dựng chương trình nhỏ hiển thị danh sách các Process đang chạy trên Windows.
III. Chuẩn đầu ra :
▪
Sinh viên nắm vững và viết thành thạo các ứng dụng xử lý Process trên Windows.
IV. Qui trình :
1. Dùng VS .Net, tạo 1 Project VC++ quản lý ứng dụng có 1 form giao diện, form này chứa
1 listbox hiển thị và 1 button.
2. Code của hàm xử lý Click trên button như 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 saách caá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 vaâ so saánh tïn gúåi nhúá cuãa noá
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 saách caác module cêëu thaânh process
lRet = EnumProcessModules(hProcess, Modules, 200, &cbNeeded);
//nïëu coá, tòm tïn cuãa module àêìu tiïn trong danh saá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;
}
Trang 2
return;
CDialogEx::OnOK();
}
3. Chọn menu Debug.Start Debugging để dịch và chạy ứng dụng. Nếu có lỗi thì phân tích
và sửa lỗi.
4. Nếu ứng dụng chạy, Click button OK, danh sách Process đang chạy sẽ hiển thị. Nếu có
lỗi thì phân tích và sửa lỗi.
Bạn đang xem tài liệu "Tài liệu thực hành 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", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
tai_lieu_thuc_hanh_mon_nhap_mon_dien_toan_bai_thuc_hanh_so_3.doc

