永发信息网

VB如何暂停一个程序的运行?

答案:4  悬赏:50  手机版
解决时间 2021-05-05 18:09
  • 提问者网友:动次大次蹦擦擦
  • 2021-05-05 14:17
如题,不是自己的程序,是其他的程序。
最佳答案
  • 五星知识达人网友:从此江山别
  • 2021-05-05 14:57
使用OpenProcess打开进程,然后用ToolhelpAPI的CreateToolhelp32Snapshot函数创建线程快照,然后用Thread32First和用Thread32Next枚举该进程的线程,对于枚举出来的该进程的每个线程结构中获取线程ID,用OpenThread打开线程,用SuspendThread挂起该线程。当该进程的所有线程被挂起,该进程就被挂起了,也就被暂停了。反之,想恢复该进程,只需用函数ResumeThread恢复该进程的所有线程即可。 以上的做法是因为win32子系统没有导出SuspendProcess函数,只能绕个弯实现,可在Native API,却有该函数,函数名为ZwSuspendProcess(也可能是SuspendProcess,我用手机写这个的,没电脑,没法查,反正有一个是对的,你可以用VS里的工具DEPEND查查看函数名),在ntdll.dll被导出,该函数可以在vb中使用,不过得自己写声明,他的声明和SuspendThread几乎是一样的,就是句柄是进程句柄而不是线程句柄而已,与之对于的是ZwResumeProcess(也可能是ResumeProcess)。
全部回答
  • 1楼网友:酒醒三更
  • 2021-05-05 18:59
api有条函数功能叫什么诸如代码的,你可以注入特权指令使cpu暂停啊,具体的我不知道,我只是提醒你一下的。
  • 2楼网友:一叶十三刺
  • 2021-05-05 17:21
暂停是不可能的了,直接关闭结束掉还OK
  • 3楼网友:持酒劝斜阳
  • 2021-05-05 16:34
直接汇编设断点!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯