用vc++的mfc怎么把一个进程中的线程挂起,高分悬赏

用vc++的mfc怎么把一个进程中的线程挂起,高分悬赏,第1张

暂停线程是可以的,不过有个问题,你在代码里并不知道你要暂停哪条线程。

进程快照找到进程->记录ID->用线程快照找到进程ID是前面记录ID的所有线程,SuspendThread

这样就就会把进程所属的所有线程暂停

看我下面的程序,子进程每两秒钟打印一次 Child print xxx

父进程fork子进程10秒后,向子进程发 SIGSTOP信号,让其停止运行。 再过5秒后,发 SIGCONT 让子进程恢复执行。再过20秒后,杀掉子进程,父进程也结束。还有疑问,可以baidu hi我,记得加分吧。

#include <sys/typesh>

#include <signalh>

#include <stdioh>

#include <unistdh>

void child_process()

{

int i = 0;

printf("Child start\n");

while(1)

{

sleep(2);

printf("Child print %d\n", ++i);

}

}

int main()

{

int pid;

printf("Fork child process \n");

sleep(1);

pid = fork();

if (pid > 0)

{

printf("This is parent process, I will stop child process ~10 seconds later\n");

sleep(10);

printf("Stop child process\n");

kill(pid, SIGSTOP);

printf("I will wake up child process 5 seconds later\n");

sleep(5);

printf("Wake up child process\n");

kill(pid, SIGCONT);

/ after 20 seconds, kill child /

sleep(20);

kill(pid, SIGKILL);

wait(NULL);

printf("Bye\n");

}

else

{

child_process();

}

return 0;

}

您好,很高兴为您解答!

BAT命令能否挂起我不清楚,但是易语言通过windows api是可以实现将某个进程挂起的。具体可以参考windows api文档。如果嫌windows api麻烦,那你可以直接用精易模块,那里面直接整合了进程挂起、进程提权等,一句代码就可以实现你要的功能。如果你要挂起的进程是系统进程的话,有时候需要提升权限。

当然了,用模块这种方法只是简便,但不适合初学者学习。若需要更好的了解其内部原理,我建议是去学习一下windows api。

手打很累,请勿转载,望采纳!

恢复进程DLL

版本 2

DLL命令 ResumeThread, , , "ResumeThread"

挂起(暂停)进程DLL

版本 2

DLL命令 SuspendThread, 整数型, , "SuspendThread"

以上就是关于用vc++的mfc怎么把一个进程中的线程挂起,高分悬赏全部的内容,包括:用vc++的mfc怎么把一个进程中的线程挂起,高分悬赏、用fork()创建的子进程怎么对其进行挂起以及挂起后怎么让其重新执行。要详细的代码。急... 大虾们帮帮忙、bat命令或易语言可以实现进程挂起吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10632191.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存