VB中如何停止运行

VB中如何停止运行,第1张

用"End"强制程序结束运行,给出一段旦昌返程序:

Private Sub Command1_Click()

Dim a As Integer,b As Integer

a=Val(Text1.Text)

b=Val(Text2.Text)

Text3.Text=a+b

End Sub

在迅袜这段VB程序中,VB一直执行语句,直到最后一句结束语句”End Sub“,才结束程序运模饥行。

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

你要的是系统全局热键还是程序局部热键呢虚如运?

VB默认库中没有暂停功能,只有结束(end),你要实现暂停功能需要调用其他函数结合你的程序来实现橡败,需要你作点补充才行,以下是程序窗口差梁内实现的热键功能:

private sub form_keydown(keycode as integer,shift as integer)

'将FORM窗口中的属性KEYpreview设为TRUE

If shift=4 and keycode=65 then 'alt+a

Msgbox("你按下了热键Alt+A") '这个是按下热键后发生的事件,你可以调用timer控件实现的暂停功能

end if

end sub


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

原文地址: http://outofmemory.cn/yw/12382682.html

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

发表评论

登录后才能评论

评论列表(0条)

保存