SuspendThread函数总是不成功

slipper520 2010-09-05 09:30:03
用遍历进程,找到我要找到的进程后,
调用这个函数
 SuspendThread(_hProcess);
DWORD aa=GetLastError();

但aa的返回值总是6,无论我怎么调试.还是不能成功!!!请高手来帮忙!!
...全文
948 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eleven 2010-09-07
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 visualeleven 的回复:]
暂停线程有个比较山寨的做法,就是遍历该进程空间中的所有线程,然后调用SuspendThread();
[/Quote]
Sorry
暂停线程
-->
暂停进程
Eleven 2010-09-07
  • 打赏
  • 举报
回复
暂停线程有个比较山寨的做法,就是遍历该进程空间中的所有线程,然后调用SuspendThread();
MoXiaoRab 2010-09-06
  • 打赏
  • 举报
回复
呵呵。暂停进程用ZwSuspendProcess
slipper520 2010-09-06
  • 打赏
  • 举报
回复
嗯,那我试试吧。
dingshaofengbinbin 2010-09-06
  • 打赏
  • 举报
回复
SuspendThread()是挂起线程,进程不能直接这样挂起,他是通过线程的挂起表现出进程的挂起,间接的,线程才是可执行的单元体。。。。
XYCDefine 2010-09-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wltg2001 的回复:]
SuspendThread(_hProcess);
这个函数是对线程起作用的,你传进程句柄进去当然不行了,进程只是一个容器,真正的执行单元是线程。
[/Quote]

是的,SuspendThread是线程概念
野男孩 2010-09-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 csx007700 的回复:]
返回6的意思是句柄无效。

你C/C++ code

DWORD SuspendThread(
HANDLE hThread
);




hThread
[in] Handle to the thread.

文档看清楚啊,lz怎么传递一个进程的句柄进去。

你这样挂起没法暂停进程的,要枚举线程再SuspendThread。

这种问题自己先琢磨下啊。
……
[/Quote]

顶,要线程句柄。
Sidyhe 2010-09-06
  • 打赏
  • 举报
回复
SuspendProcess是暂停进程的
SuspendThread是暂停线程的
另外暂停进程/线程的时候注意是否具有相应的权限,是否有效(激活),等等……
wltg2001 2010-09-05
  • 打赏
  • 举报
回复
SuspendThread(_hProcess);
这个函数是对线程起作用的,你传进程句柄进去当然不行了,进程只是一个容器,真正的执行单元是线程。
csx007700 2010-09-05
  • 打赏
  • 举报
回复
返回6的意思是句柄无效。


DWORD SuspendThread(
HANDLE hThread
);



hThread
[in] Handle to the thread.

文档看清楚啊,lz怎么传递一个进程的句柄进去。

你这样挂起没法暂停进程的,要枚举线程再SuspendThread。

这种问题自己先琢磨下啊。

15,477

社区成员

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

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