Làm cách nào tôi có thể nhận được tên tệp của quy trình từ trình xử lý? Tôi đang sử dụng Win32 C++ (Visual C++ Express Edition).Win32API - Làm thế nào để có được tên tập tin của quá trình từ xử lý quá trình?
Cảm ơn.
Làm cách nào tôi có thể nhận được tên tệp của quy trình từ trình xử lý? Tôi đang sử dụng Win32 C++ (Visual C++ Express Edition).Win32API - Làm thế nào để có được tên tập tin của quá trình từ xử lý quá trình?
Cảm ơn.
Gọi GetModuleFileNameEx
. Khả dụng với Windows 2000.
DWORD WINAPI GetModuleFileNameEx(
__in HANDLE hProcess,
__in_opt HMODULE hModule,
__out LPTSTR lpFilename,
__in DWORD nSize
);
Sử dụng NULL
để tham số thứ hai lấy tên tệp EXE.
GetProcessImageFileName
function truy xuất tên của tệp thi hành cho trình xử lý được chỉ định (WinXP, Máy chủ 2k3 trở lên), cũng như QueryFullProcessImageName
cho Vista và 2k8 trở lên.
** Hàm 'GetProcessImageFileName' trả về đường dẫn trong biểu mẫu thiết bị, thay vì ký tự ổ đĩa. ** - thật khó chịu. 'GetModuleFileNameEx' là đúng cách :) – CodeAngry
Cảm ơn, đó là chính xác những gì tôi cần. – user145586
tính năng này chỉ hoạt động với quy trình 32 bit cho các quy trình 32 bit, trong trường hợp khác, bạn sẽ gặp lỗi. Nếu bạn không muốn làm điều đó với GetProcessImageFileName – Quonux