2009-08-02 6 views

Trả lời

12

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.

+0

Cảm ơn, đó là chính xác những gì tôi cần. – user145586

+2

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

9

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.

+0

** 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