VB如何暂停一个程序的运行?
1个回答
展开全部
补充: 看到其他答案说到修改EXE、设断点、特权指令等,其实没那么复杂,现在的系统是按线程调度的,线程的状态是有系统决定的,要让进程暂停,只需让系统把进程的所有线程挂起,不分配CPU,进程当然就没法运行啦,而系统就提供了这样的接口啊,用就可以了。 对于修改EXE,可以在你要暂停的地方插入JMP指令,跳到你的暂停代码里,暂停代码用Sleep或WaitforSingleObject等待都可以,不过想在原代码插入JMP指令很难,修改了原指令就要恢复的,这可不简单啊。 对于设断点,这个可以,VB也可以实现,用DEBUG API就可以了,不过这是暂停的程序就处于DEBUG状态,而不是普通状态了,这是有差别的。 至于用特权指令暂停CPU,这好像不行吧,CPU停了,我们的程序也暂停了。这是内核级调试程序用的。 追问: 能给出代码吗,看是看懂了,但不知道这些函数怎么声明和使用。 回答: 不好意思,我用手机上的网,没电脑,没法给你声明,也没法给你代码,不过你可以查查MSDN的C原型,在转为VB声明,VB有个可以插入API声明的工具,可以用该工具对已有的声明进行修改。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询