微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ProcessID混淆

我很困惑。

为什么notepad.exe有三个不同的进程ID?

1)Spy ++说000000A48 (eh?)

2)Taskmanager说: 2632

是否有一个有用的Windows资源加载string的C ++包装类?

这是钻石inheritanceUB在MinGW中的错误

在linux mint中不能使用SOIL

检测文件是否被覆盖(移动和replace)使用C#

Linux是否logging守护进程抛出的未捕获的exception?

3)GetwindowThreadProcessId说: 1744

我猜2632是正确的使用SetwindowsHookEx(作为dwThreadId参数),但如果GetwindowThreadProcessId返回别的东西,我怎么find正确的?

在C ++中安装和运行Windows服务

任何人都可以提出一种方法来跟踪每个函数调用

编译错误:opencv_contrib没有成员

/ proc / interrupts如何得到更新?

为什么我们的软件在虚拟化下运行速度会变慢?

进程只有一个唯一的进程ID。 但Spy ++报告的值是十六进制的,任务管理器将其报告为十进制。 现在,A48(十六进制)等于2632(十进制)。

一个值1744是一个线程ID。 这是不同对象的ID。 线程和进程是不一样的东西。 一个进程包含一个或多个线程。

当你调用GetwindowThreadProcessId它返回窗口的线程ID作为函数的返回值。 第二个参数可以用来返回拥有线程的进程的进程ID。 像这样调用它:

DWORD pid; DWORD tid = GetwindowThreadProcessId(wnd,&pid);

函数返回后, pid包含进程ID。

你正在尝试安装一个钩子,并且需要一个线程ID。 在你的代码中使用变量npThreadId 。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐