| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2269 人关注过本帖
标题:如何让防止重复开启程序的小窗口不显示
只看楼主 加入收藏
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:627
专家分:14
注 册:2006-9-5
结帖率:94.12%
收藏
已结贴  问题点数:20 回复次数:6 
如何让防止重复开启程序的小窗口不显示
为了防止程序重复开启,用了下面的代码,但每次总会跳出一个确认框(见图),请问如何才能不显示这个小框又能将原来已打开的程序调到前台?
Private Sub Form_Load()
If App.PrevInstance Then
MsgBox "程序已在运行。", vbInformation, "系统"
End
End If
End Sub
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 前台 如何 
2015-12-18 09:11
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:20 
'看来楼主没什么基础啊,代码修改如下即可。另你那个退出关闭所有窗口的真的只需要一句end即可,完全不需要先unload forms的
Private Sub Form_Load()
   If App.PrevInstance Then  End
End Sub

能编个毛线衣吗?
2015-12-18 10:20
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:627
专家分:14
注 册:2006-9-5
收藏
得分:0 
谢谢版主的回复;
本人学VB6可以说一点基础都没有,对函数一点也不懂,因为只制作图文浏览的软件,不用任何计算,所以基本上所以有语句都是在网上或论坛上热心人指点的。
七年前完成的全套“奥运邮集”的代码没有一句是自己写的,全是DIY完成的,为了回报本论坛对我的帮助,将我如何完成这套软件都发表在本论坛的“    精华 1 《奥运邮集》软件代码介绍——VB6初学之友”链接:
https://bbs.bccn.net/viewthread.php?tid=203505&highlight=%B0%C2%D4%CB%D3%CA%BC%AF%2Bjrs123
所以,这次您改的代码我也是照搬,出错了我也改不了。
这次你的代码,我放进去还是有问题,我将二套都发上来,请您改一下;
Private Sub Form_Load() '留言栏,注意MyApp编号
Command7.Enabled = False '页码号失效代码
Command9.Enabled = False
    'Text6.Text = Inet1.OpenURL("http://www.)
    Text1.Text = GetSetting("MyApp23a01", "保存留言", "内容", "") '填写框格内容第1部分,第2部分在后面
    Text2.Text = GetSetting("MyApp23a02", "保存留言", "内容", "")
    Text3.Text = GetSetting("MyApp23a03", "保存留言", "内容", "")
    Text4.Text = GetSetting("MyApp23a04", "保存留言", "内容", "")
    Text5.Text = GetSetting("MyApp23a05", "保存留言", "内容", "")
        Hook Me.hwnd
        If App.PrevInstance Then '网上找到,防止重复打开程序,4行,通过,就是会出“程序已在运行”小框
MsgBox "程序已在运行。", vbInformation, "系统"
End
End If
    'If App.PrevInstance Then End '编程论坛wmf2014方案,问题:点右上角关闭钮出问题
End Sub



[此贴子已经被作者于2015-12-18 22:16编辑过]

2015-12-18 14:29
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:627
专家分:14
注 册:2006-9-5
收藏
得分:0 
试验区:是你改的二个软件,无法正常转移
已完成的:是原先的二个软件,可以运行,就是会出现小框,而且转移时还会提示要不要退出系统,这二个提示框都是不想要的,我只想要直接转移到另一讲,不要出这些提示框;
2015-12-18 14:36
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:627
专家分:14
注 册:2006-9-5
收藏
得分:0 
出错处:
1、点击第二讲第(2)页的右上[1]钮,会弹出退出系统提问框
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册

2、点第二讲的“上一讲”钮,无动作(这时要求第一讲到前台来)
3、点任务栏的第一讲,同时会有退出系统提问框在上面,见图(不过二次改都有这问题)

图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2015-12-18 15:05编辑过]

2015-12-18 15:04
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:627
专家分:14
注 册:2006-9-5
收藏
得分:0 
使用窗口关闭钮的问题太多 ,还是让它失效是最省事的办法,谢谢各位!
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) '让关闭钮失效!
Cancel = True
End Sub


[此贴子已经被作者于2015-12-19 10:15编辑过]

2015-12-18 22:19
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:627
专家分:14
注 册:2006-9-5
收藏
得分:0 
从这一讲软件转第二讲可以不弹出“程序已在运行”提示框的完整代码;
'第一段
Private Sub Command2_Click() '保留
Shell "rundll32.exe url.dll,FileProtocolHandler " & App.Path & "\第二讲.exe", vbMaximizedFocus
UnloadMe False, True '这一行必须加,不然就会弹出“程序已在运行”提示框
End Sub
'第二段
Private Sub Form_Load()
Command8.Enabled = False '按钮失效代码
Command10.Enabled = False
      Hook Me.hwnd '滚轮鼠标事件用代码
      If App.PrevInstance Then '网上找到,防止重复打开程序
MsgBox "程序已在运行。", vbInformation, "系统"'有第一段后,这框不再出现
End
End If
End Sub
2015-12-19 10:13
快速回复:如何让防止重复开启程序的小窗口不显示
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018805 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved