如何得到一个窗口的线程ID,注意是线程ID???(50分)

  • 主题发起人 主题发起人 jlugjb
  • 开始时间 开始时间
J

jlugjb

Unregistered / Unconfirmed
GUEST, unregistred user!
GetWindowThreadProcessId能得到进程ID,我现在想得到线程ID.
觉得用CreateToolhelp32Snapshot枚举也许能行,但不太熟悉。

我用EnumWindows(@EnumWindowsProc,ProcessID);枚举所有窗口
在函数EnumWindowsProc中调用GetCurrentThreadId返回值都是一样的,郁闷,为什么啊。
 
GetCurrentThreadId返回的是当前进程的id,也就是本程序的id当然是一样的了。
 
The GetWindowThreadProcessId function retrieves the identifier of the thread that created the specified window and, optionally, the identifier of the process that created the window. This function supersedes the GetWindowTask function.

DWORD GetWindowThreadProcessId(

HWND hWnd, // handle of window
LPDWORD lpdwProcessId // address of variable for process identifier
);


Parameters

hWnd

Identifies the window.

lpdwProcessId

Points to a 32-bit value that receives the process identifier. If this parameter is not NULL, GetWindowThreadProcessId copies the identifier of the process to the 32-bit value; otherwise, it does not.



Return Values

The return value is the identifier of the thread that created the window.

Remarks

This function replaces the GetWindowTask function of Windows version 3.x.

没有注意返回值,不细心啊,白白花了这么长时间,呵呵
 
后退
顶部