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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)