我做的程序,如何制作判断自身程序已运行.防止软件被打开两次.
我明白用findwindows来找标题.我找到了程序已运行,但是关闭不了呢?用end的话,软件仍然要被打开第二次,但是没有菜单,也不能正常使用,用unload又会弹出那个我自已做的是否关闭程序对话框.有办法检测到自已已经在运行中,然后提示一下就结束吗?除了用end和unload以外还有什么办法.我指关闭程序.
我明白用findwindows来找标题.我找到了程序已运行,但是关闭不了呢?用end的话,软件仍然要被打开第二次,但是没有菜单,也不能正常使用,用unload又会弹出那个我自已做的是否关闭程序对话框.有办法检测到自已已经在运行中,然后提示一下就结束吗?除了用end和unload以外还有什么办法.我指关闭程序.
解决方案 »
- 请问用sendkey怎么按text1中的键.
- 求使用MSHFlexGrid控件批量录入数据代码
- 为什么我用ActiveReports2.0导出的表都打不开怎么回事呀
- 急!!VB 中实时错误'3021',BOF或EOF中有一个是"真",或者当前的记录以被删除,所需的操作要求一个当前的记录
- 急急急!!!关于两个EXE之间参数互传的问题!
- 请问PDG后缀的文件是用什么工具打开的?
- MSHFlexGrid问题,在线等候,马上给分
- 关于★只允许有一个,而且必须是csdn的用户名称(这个账号将增加信誉分、可用分)★
- 有谁做过将rm和media视频播放集成的软件
- vb怎么读取txt文件,对里面没行三列的数据按第二行数据升序排列,第二列相同的话比较第三列
- label控件和Validate的问题,难题啊!
- VB6.0数据传输
MsgBox "已经运行!", vbInformation
End
End If
Private Sub Form_Load()
If App.PrevInstance Then
iii = MsgBox("该软件已在运行中,请确认是否被最小化到右下角任务栏!", vbExclamation, "提示") End
DoEvents
Exit Sub End If
.............................
end sub问题出在这个end上,它不能有效的结束程序,该程序仍然会被打开.只是没有菜单了.就说明窗体被装载了一半.怎么的语句才能使程序彻底结束.我的程序有两个窗体.主窗体form1 另一个窗体form2
///////////////////////////////////
Private Sub Form_Load()
If App.PrevInstance Then
MsgBox("该软件已在运行中!",vbExclamation, "提示")
Unload form1
Unload form2
End If
End Sub
If App.PrevInstance Then
Unload Me
End If
End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If UnloadMode = vbFormControlMenu Then
If MsgBox("是否退出?", vbQuestion + vbYesNo) = vbNo Then
Cancel = True
End If
End If
End Sub
你加个模块
里面来个 sub main然后在sub main 里加上
If App.PrevInstance = True Then
End
End If再让工程从sub main 启动
问题就解决了
http://m5home.vicp.net/blog/blogview.asp?logID=466