HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwx);如何通过hProc得到窗口句柄?要在WIN98,2000系统都可以用呀。
解决了另外再给分。

解决方案 »

  1.   

    use EnumWindows and GetWindowThreadProcessId , seehttp://msdn.microsoft.com/msdnmag/issues/02/07/CQA/default.aspx
      

  2.   

    Psapi.h
    是98下和2000下都能用的吗?
      

  3.   

    I think not, seehttp://msdn.microsoft.com/library/en-us/perfmon/base/enumprocesses.asp?frame=trueClient: Included in Windows XP, Windows 2000 Professional, and Windows NT Workstation 4.0.
    Server: Included in Windows Server 2003, Windows 2000 Server, and Windows NT Server 4.0.
      

  4.   

    EnumWindows and GetWindowThreadProcessId should work on 98 too
      

  5.   

    HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwx);现在知道hProc的值,
    如何得到他所属窗口的HWND,或程序名PATH都可以。GetWindowThreadProcessId 恐怕用不上。
      

  6.   

    如果要获得程序名PATH的话可以这样做:
    调用EnumProcessModules获取进程对应的模块名
    然后对获得的第一个模块调用GetModuleFileNameEx就可以得到带完整路径的应用程序可执行文件名。
      

  7.   

    回复人: thisisjjjj(Jeffry) ( ) 信誉:99  
    如果要获得程序名PATH的话可以这样做:
    调用EnumProcessModules获取进程对应的模块名
    然后对获得的第一个模块调用GetModuleFileNameEx就可以得到带完整路径的应用程序可执行文件名。-------------------
    GetModuleFileNameEx是在psapi.h中的,只能在2000下用~~
    98下就没办法了。
      

  8.   

    回复人: flyelf(空谷清音) ( ) 信誉:100 
    EnumThreadWindows------------------------------
    Win32 API EnumThreadWindows(DWORD threadId,WNDENUMPROC lpfn,LPARAM lParam) 
    所以也不能~