VC 获取得到 某个其他窗口 所在的文件夹目录,怎么获得

feiyuhen2006 2010-10-02 05:45:04
我知道这个函数可以用 GetModuleFileNameEx

不过我真的不会用啊

DWORD dwProcessId,needed;
HMODULE hModule;
char path[256];
::GetWindowThreadProcessId(hwnd,&dwProcessId);
HANDLE hProcess = ::OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_READ,false,dwProcessId);
CString strPath ;
if (hProcess)
{
EnumProcessModules(hProcess, &hModule, sizeof(hModule), &needed);
GetModuleFileNameEx(hProcess, hModule, path, sizeof(path));
AfxMessageBox(path);
strPath.Format("%s",path);
}else{
AfxMessageBox("无法搜索CF目录");
}



上面的代码是网上找的,不过AfxMessageBox(path); 总输出空串, 有些电脑又可以成功获得,好奇怪啊
...全文
102 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
feiyuhen2006 2010-10-02
  • 打赏
  • 举报
回复
搞定了

GetModuleFileNameEx(hProcess, hModule, path, sizeof(path));

把hModule传 NULL 就可以了 ,多此一举 反倒不行
feiyuhen2006 2010-10-02
  • 打赏
  • 举报
回复
为什么有些电脑可以获得路径,有些电脑又 获取到的是空串啊,难道EnumProcessModules 这个有问题吗

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧