如何得到指定窗口的进程ID号?

qiujoe 2000-11-16 09:10:00
我用GetWindowThreadProcessID()行不行?我想得到当前激活的窗口ID,(测试时就是当前应用程序)用这个函数与GetCurrentProcessID()所得ID值不一样。
GetCurrentProcessID()与任务管理器的ID一样
GetWindowThreadProcessID()与任务管理器的ID不一样
为什么??请快得帮帮我:(
...全文
850 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiujoe 2000-11-17
  • 打赏
  • 举报
回复
我没有创建子线程
qiujoe 2000-11-17
  • 打赏
  • 举报
回复
谢谢FORXCAFE
qiujoe 2000-11-17
  • 打赏
  • 举报
回复
进程运行自动创建一个主线程,我得到的是主线程的ID,与进程ID不一样,应该如何得到进程ID呢?
xpmao 2000-11-17
  • 打赏
  • 举报
回复
GetWindowThreadProcessID 可返回指定窗口的线程ID,请注意接收
foxcafe 2000-11-17
  • 打赏
  • 举报
回复
sorry ! 我发了两次
因为回复页面老是提醒发送贴子失败.
;(
foxcafe 2000-11-17
  • 打赏
  • 举报
回复
HWND m_hDest = NULL;
HANDLE m_hSpy = NULL;
if((m_hDest = ::FindWindow (NULL, "WindowTitlName")) != NULL)
{
DWORD dwProcessId;

GetWindowThreadProcessId(m_hDest, &dwProcessId);
m_hSpy = ::OpenProcess (PROCESS_DUP_HANDLE, FALSE, dwProcessId);
}
bearxiong 2000-11-17
  • 打赏
  • 举报
回复
进程是唯一的,而线程是分主线程和副线程的你得到的是进程的ID和当前的运行线程ID.
sxbyl 2000-11-17
  • 打赏
  • 举报
回复
你可以借助Spy++看一下怎么回事
devouer 2000-11-17
  • 打赏
  • 举报
回复
先用GetActiveWindow()得到活动窗口的句柄,然后就可以了。你看看MFC的源码,窗口运行时创建主线程,不是进程
sxbyl 2000-11-16
  • 打赏
  • 举报
回复
GetWindowThreadProcessID()得到的是线程ID,和进程ID是两码事
huhaiqing 2000-11-16
  • 打赏
  • 举报
回复
我也是一样的,我想你的window是在子线程中创造的吧,GetWindowThreadProcessId返加
ThreadID和ProcessID,你获取的是ThreadId
w_black 2000-11-16
  • 打赏
  • 举报
回复
怎么我, 调用两个函数所得的进程ID是一样的, 另外, GetWindowThreadProcessID既可得到创建指定窗口的线程ID, 也可得到创建指定窗口的进程ID.
qiujoe 2000-11-16
  • 打赏
  • 举报
回复
那我的问题是怎么回事?
土豆 2000-11-16
  • 打赏
  • 举报
回复
谁说的?GetWindowThreadProcessID()当然是得到进程ID.
qiujoe 2000-11-16
  • 打赏
  • 举报
回复
那应该怎么办?应该怎样才能得到当前激活窗口

15,473

社区成员

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

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