如何由进程id得到进程的全路径名? 我想作一个进程管理器。现在的问题是:如何由进程id得到进程的全路径名? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 根据进程ID得到句柄后(用下面的函数得到)HANDLE OpenProcess( DWORD dwDesiredAccess, // access flag BOOL bInheritHandle, // handle inheritance option DWORD dwProcessId // process identifier);再用GetModuleFileName()函数。----------------------------在98下可以用:void GetProcessPath(DWORD ProcessID,CString ProcessPath){ HANDLE hSnapShot=CreateToolhelp32Snapshot(TH32CS_SNAPALL,NULL); PROCESSENTRY32 pEntry; pEntry.dwSize =sizeof(pEntry); BOOL hRes=Process32First(hSnapShot,&pEntry); while(hRes) { if(ProcessID==pEntry.th32ParentProcessID) ProcessPath = pEntry.szExeFile; hRes=Process32Next(hSnapShot,&pEntry); }} hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID);用GetModuleFileNameEx可以得到进程路径,比GetModuleFileName功能要强些不过还是有部分系统进程不能得到 usb编程的小问题 关于在OnEraseBkgnd中绘图的问题 关于 afxwin1.inl 558 如何给线程传一个CString变量? 如何解析IP数据包头?200分 请问哪有关于CAD软件开发的网站或书籍 急,急,实在是急!win98下如何获得硬盘物理ID! ADO控件中datetime数据类型的问题 如何能让MDI子窗口在后台打开? 怪...DLL and HCURSOR...? 请教高手如何画出一个类似Word客户区和非客户区的界面 在程序中如何清空操作系统中的“最近打开的文档”
HANDLE OpenProcess(
DWORD dwDesiredAccess, // access flag
BOOL bInheritHandle, // handle inheritance option
DWORD dwProcessId // process identifier
);
再用GetModuleFileName()函数。
----------------------------
在98下可以用:
void GetProcessPath(DWORD ProcessID,CString ProcessPath)
{
HANDLE hSnapShot=CreateToolhelp32Snapshot(TH32CS_SNAPALL,NULL);
PROCESSENTRY32 pEntry;
pEntry.dwSize =sizeof(pEntry);
BOOL hRes=Process32First(hSnapShot,&pEntry);
while(hRes)
{
if(ProcessID==pEntry.th32ParentProcessID)
ProcessPath = pEntry.szExeFile;
hRes=Process32Next(hSnapShot,&pEntry);
}
}
hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID);
用GetModuleFileNameEx可以得到进程路径,比GetModuleFileName功能要强些
不过还是有部分系统进程不能得到