已经知道了某个程序的HWnd了,怎样知道这个程序的全程路径和应用程序名我知道有一个DWORD GetModuleFileName(
  HMODULE hModule,    // handle to module to find filename for
  LPTSTR lpFilename,  // pointer to buffer to receive module path
  DWORD nSize         // size of buffer, in characters
);
但是我只知道这个应用程序的hModule~怎么办?

解决方案 »

  1.   

    通过进程ID可以么?看看下面代码适合你不?
    CString GetProcessPath( DWORD idProcess )
    {
        CString sPath;
        
        HANDLE hProcess = OpenProcess(  PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,
                                        FALSE, 
    idProcess );
        if( NULL != hProcess )
        {
            HMODULE hMod;
            DWORD cbNeeded;
            
            if( EnumProcessModules( hProcess, &hMod, sizeof( hMod ), &cbNeeded ) )
            {
    DWORD dw = GetModuleFileNameEx( hProcess, hMod, sPath.GetBuffer( MAX_PATH ), MAX_PATH );
    sPath.ReleaseBuffer();
            }

        CloseHandle( hProcess );
        } return( sPath );
    }
      

  2.   

    我发现一个函数,GetWindowModuleFileName(HWND)但是连接不上呀 头文件我已经写上了。#include <Winuser.h>
      

  3.   

    to ->zhaowuqing(我尽力而为) 
     可是我只知道HWND呀。
      

  4.   

    使用::GetWindowModuleFileName(HWND);
    但是需要在你的stdafx.h文件的最开始添加
     #define WINVER 0x0500
     才能正确的进行连接
      

  5.   

    -》demetry(大松你太厉害了。真的是这样的,谢谢你,马上给分,我要去下载最新版的SDK了