
我能告诉你强制关闭程序的代码
来一个timer1,时间是1000毫秒
’代码如下
Dim procname$, rtn&, strcomputer$
Private Sub Timer1_Timer()
procname = InputBox("输入所要关闭的文件名", "请输入")
strcomputer = ""
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strcomputer & "\root\cimv2")
Set colProcessList = objWMIServiceExecQuery("Select from Win32_Process Where Name = '" & procname & "'")
If colProcessListCount = 0 Then
MsgBox procname & " 没有运行,请看清楚后再输入"
End
Else
For Each objProcess In colProcessList
rtn = MsgBox("您确定要终止 " & procname & " 吗?", vbYesNo, "强制关闭进程")
If rtn = 6 Then
objProcessTerminate
Else
End If
Next
End If
End Sub
你的循环语句中要插入一句DoEvents,使查询期间能让其他软件临时获得CPU的控制权,避免程序进入“假死”(或者说挂起)状态。另一方面,你的查询代码也要进行优化,以免占用太多的CPU控制时间。Windows系统是个多任务系统,你要时刻记住,在同一个时刻,并不是只有你的程序在运行,还有许多其他软件也在排队等着分CPU的一杯羹,所以软件也要有“公德心”,不能只顾自己,强行霸占系统资源。就像很多人排队买火车票,如果轮到你的时候你长时间霸着售票窗口不走,那么整个队伍就陷入停滞状态了。
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
VB里面如何调用windows里面的那种警告对话框,以及询问框
具体的代码是什么
以前用过,不过长时间没用了,就忘记了
请高手出招啊
解析:
使用msgbox()
MsgBox函数 返回
在对话框中显示消息,等待用户单击按钮,并返回一个 Integer 告诉用户单击哪一个按钮。
语法
MsgBox(prompt[, buttons] [, title] [, helpfile, context])
MsgBox 函数的语法具有以下几个命名参数:
部分 描述
Prompt 必需的。字符串表达式,作为显示在对话框中的消息。prompt 的最大长度大约为 1024 个字符,由所用字符的宽度决定。如果 prompt 的内容超过一行,则可以在每一行之间用回车符 (Chr(13))、换行符 (Chr(10)) 或是回车与换行符的组合 (Chr(13) & Chr(10)) 将各行分隔开来。
Buttons 可选的。数值表达式是值的总和,指定显示按钮的数目及形式,使用的图标样式,缺省按钮是什么以及消息框的强制回应等。如果省略,则 buttons 的缺省值为 0。
Title 可选的。在对话框标题栏中显示的字符串表达式。如果省略 title,则将应用程序名放在标题栏中。
Helpfile 可选的。字符串表达式,识别用来向对话框提供上下文相关帮助的帮助文件。如果提供了 helpfile,则也必须提供 context。
Context 可选的。数值表达式,由帮助文件的作者指定给适当的帮助主题的帮助上下文编号。如果提供了 context,则也必须提供 helpfile。
设置值
buttons 参数有下列设置值:
常数 值 描述
vbOKOnly 0 只显示 OK 按钮。
VbOKCancel 1 显示 OK 及 Cancel 按钮。
VbAbortRetryIgnore 2 显示 Abort、Retry 及 Ignore 按钮。
VbYesNoCancel 3 显示 Yes、No 及 Cancel 按钮。
VbYesNo 4 显示 Yes 及 No 按钮。
VbRetryCancel 5 显示 Retry 及 Cancel 按钮。
VbCritical 16 显示 Critical Message 图标。
VbQuestion 32 显示 Warning Query 图标。
VbExclamation 48 显示 Warning Message 图标。
VbInformation 64 显示 Information Message 图标。
vbDefaultButton1 0 第一个按钮是缺省值。
vbDefaultButton2 256 第二个按钮是缺省值。
vbDefaultButton3 512 第三个按钮是缺省值。
vbDefaultButton4 768 第四个按钮是缺省值。
vbApplicationModal 0 应用程序强制返回;应用程序一直被挂起,直到用户对消息框作出响应才继续工作。
vbSystemModal 4096 系统强制返回;全部应用程序都被挂起,直到用户对消息框作出响应才继续工作。
vbMsgBoxHelpButton 16384 将Help按钮添加到消息框
VbMsgBoxSetForeground 65536 指定消息框窗口作为前景窗口
vbMsgBoxRight 524288 文本为右对齐
vbMsgBoxRtlReading 1048576 指定文本应为在希伯来和 语系统中的从右到左显示
第一组值 (0-5) 描述了对话框中显示的按钮的类型与数目;第二组值 (16, 32, 48, 64) 描述了图标的样式;第三组值 (0, 256, 512) 说明哪一个按钮是缺省值;而第四组值 (0, 4096) 则决定消息框的强制返回性。将这些数字相加以生成 buttons 参数值的时候,只能由每组值取用一个数字。
注意 这些常数都是 Visual Basic for Applications (VBA) 指定的。结果,可以在程序代码中到处使用这些常数名称,而不必使用实际数值。
返回值
常数 值 描述
vbOK 1 OK
vbCancel 2 Cancel
vbAbort 3 Abort
vbRetry 4 Retry
vbIgnore 5 Ignore
vbYes 6 Yes
vbNo 7 No
说明
在提供了 helpfile 与 context 的时候,用户可以按 F1 来查看与 context 相应的帮助主题。像 Microsoft Excel 这样一些主机应用程序也会在对话框中自动添加一个 Help 按钮。
如果对话框显示 Cancel 按钮,则按下 ESC 键与单击 Cancel 按钮的效果相同。如果对话框中有 Help 按钮,则对话框中提供有上下文相关的帮助。但是,直到其它按钮中有一个被单击之前,都不会返回任何值。
注意 如果还要指定第一个命名参数以外的参数,则必须在表达式中使用 MsgBox。为了省略某些位置参数,必须加入相应的逗号分界符
获得句柄才可以。PID 没什么用。
有两种方式,一种是利用 NET 本身的 SuspendThread() 方法,一种是利用 API SuspendProcess。
后者可以参考:>
说不行的,太笨了。其实完全可以做得到,就是你再写个form2,在原来需要d出msgbox的地方,改为 form2show,然后在form2里设置2个按钮,分别是“确定”与“取消”,同样可以实现使用msgbox的功能。这样,就可以现实你的目的, 可以让msgbox d出时,下面的命令可以继续执行?并且不需要 Timer控件。(可以增加的“倒计时自动消失对话窗”的高级功能:在form2里放个定时器,设置倒计时,如果用户没有理会d出来的form2窗口,时间到了,form2可以自动消失。)
以下是代码:
Private Sub Form_load()
form2show
XXXX
END Sub
其中,XXXX以及后面的代码就是你原来希望的,d出消息框之后可以继续执行的代码(程序并未挂起,仍在执行)。
Form2 的代码:
在Form2中,“确定”按钮的名称为Command_sub1,“取消”按钮的名称为Command_sub2,以区别于Form1中的按钮。
Dim TimeLeft As Integer
Private Sub Form_load()
TimeLeft = 10
Timer1Interval = 1000
Timer1Enabled = True
Label_sub2Caption = "若未决定,将在" & Str$(TimeLeft) & " 秒后继续。"
End Sub
Private Sub Timer1_Timer()
TimeLeft = TimeLeft - 1
Label_sub2Caption = "若未决定,将在" & Str$(TimeLeft) & " 秒后继续。"
If TimeLeft = 0 Then
Timer1Enabled = False
DoEvents
Call Command_sub1_Click
End If
End Sub
Private Sub Command_sub1_Click()
'此段是"确定"按钮要执行的
Unload Form2
Set Form2 = Nothing
End Sub
Private Sub Command_sub2_Click()
'此段是"取消"按钮代码
Unload Form2
Set Form2 = Nothing
End Sub
以上就是关于VB怎样防止进程被挂起全部的内容,包括:VB怎样防止进程被挂起、VB 程序d出错误框(部件要求挂起),求解决。、VB对话框问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)